Saleculator Meta WhatsApp template examples
===========================================

Create these in Meta WhatsApp Manager or the connected provider panel before using
them from Saleculator. Template names use lowercase letters, numbers, and
underscores. Body variables use Meta's {{1}}, {{2}} placeholder format; pass the
same number of parameters from Saleculator in the same order.

Category: Utility
Language: en


Template name: saleculator_order_received
Body:
Hi {{1}}, we have received your order {{2}} at {{3}}. We will confirm it shortly.

Saleculator event:
event.orderreceived

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_order_received",
        "en",
        ticket.getCustomer().getName(),
        String.valueOf(order.getOrderId()),
        ticket.printTotal()
    );
}


Template name: saleculator_order_accepted
Body:
Hi {{1}}, your order {{2}} has been accepted. Estimated preparation time: {{3}}.

Saleculator event:
event.orderaccepted

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_order_accepted",
        "en",
        ticket.getCustomer().getName(),
        String.valueOf(order.getOrderId()),
        "20 minutes"
    );
}


Template name: saleculator_order_rejected
Body:
Hi {{1}}, we are sorry, but order {{2}} could not be accepted. Reason: {{3}}.

Saleculator event:
event.orderrejected

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_order_rejected",
        "en",
        ticket.getCustomer().getName(),
        String.valueOf(order.getOrderId()),
        "item unavailable"
    );
}


Template name: saleculator_kot_sent
Body:
Hi {{1}}, your order {{2}} has been sent to the kitchen. We will notify you when it is ready.

Saleculator event:
Use the KOT/send-order script where the kitchen order is printed or sent.

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_kot_sent",
        "en",
        ticket.getCustomer().getName(),
        ticket.printId()
    );
}


Template name: saleculator_order_prepared
Body:
Hi {{1}}, your order {{2}} is ready. Please collect it from {{3}}.

Saleculator event:
event.orderprepared

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_order_prepared",
        "en",
        ticket.getCustomer().getName(),
        String.valueOf(order.getOrderId()),
        "the counter"
    );
}


Template name: saleculator_order_assigned
Body:
Hi {{1}}, your order {{2}} has been assigned for delivery. Driver: {{3}}.

Saleculator event:
event.orderassigned

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    String driver = order.getDriver() == null ? "our delivery partner" : order.getDriver().getName();
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_order_assigned",
        "en",
        ticket.getCustomer().getName(),
        String.valueOf(order.getOrderId()),
        driver
    );
}


Template name: saleculator_out_for_delivery
Body:
Hi {{1}}, your order {{2}} is out for delivery. It should reach you soon.

Saleculator event:
Use this when adding an out-for-delivery status event.

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_out_for_delivery",
        "en",
        ticket.getCustomer().getName(),
        String.valueOf(order.getOrderId())
    );
}


Template name: saleculator_order_delivered
Body:
Hi {{1}}, your order {{2}} has been delivered. Thank you for ordering from {{3}}.

Saleculator event:
Use this when adding a delivered status event.

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_order_delivered",
        "en",
        ticket.getCustomer().getName(),
        String.valueOf(order.getOrderId()),
        "Saleculator"
    );
}


Template name: saleculator_bill_created
Body:
Hi {{1}}, bill {{2}} has been created. Total amount: {{3}}.

Saleculator event:
event.close

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_bill_created",
        "en",
        ticket.getCustomer().getName(),
        ticket.printId(),
        ticket.printTotal()
    );
}


Template name: saleculator_receipt_ready
Body:
Hi {{1}}, your receipt {{2}} is ready. Total paid: {{3}}. Thank you for visiting {{4}}.

Saleculator event:
event.close

Example script:
if (ticket.getCustomer() != null && ticket.getCustomer().getPhone() != null) {
    sales.sendWhatsAppTemplate(
        ticket.getCustomer().getPhone(),
        "saleculator_receipt_ready",
        "en",
        ticket.getCustomer().getName(),
        ticket.printId(),
        ticket.printTotal(),
        "Saleculator"
    );
}
