| Server IP : 121.121.20.254 / Your IP : 216.73.216.133 Web Server : Microsoft-IIS/10.0 System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64 User : IUSR ( 0) PHP Version : 8.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/OPENPOSLITE/wp-content/plugins/wpos-lite-version/includes/api/ |
Upload File : |
{
"status": 1,
"message": "Unknown message",
"data": {
"user_id": 1,
"ip": "::1",
"session": "op-admin-1759462781-q21mkkbq647q9e0kkilgr66d60",
"username": "admin",
"name": "admin",
"email": "anhvnit@gmail.com",
"role": [],
"phone": "",
"logged_time": "03-10-2025 10:39:41",
"setting": {
"pos_pwa_enable": "no",
"pos_sequential_number_enable": "yes",
"pos_sequential_number": "1000670",
"pos_sequential_number_prefix": "",
"pos_stock_manage": "yes",
"pos_order_status": "wc-completed",
"pos_continue_checkout_order_status": [
"wc-pending",
"wc-on-hold"
],
"pos_allow_refund": "yes",
"allow_exchange": "yes",
"pos_tax_class": "op_productax",
"pos_fee_tax_class": "op_notax",
"pos_cart_discount": "after_tax",
"payment_methods": {
"paypal": "PayPal",
"chip_pin": "Chip & PIN",
"bacs": "Direct bank transfer",
"cod": "Cash on delivery",
"op_credit": "POS Voucher",
"clover_terminal": "Clover Terminal",
"op_stripe_payment": "Credit Card ( Stripe ) - Online Payment for POS only",
"op_credit_return": "Refund with Voucher"
},
"op_stripe_payment_publishable_key": "",
"op_stripe_payment_secret_key": "",
"op_credit_expired": "no_expire",
"shipping_methods": [
{
"code": "flat_rate:10",
"title": "Flat rate",
"cost": "0",
"cost_online": "yes",
"inclusive_tax": "no",
"tax_details": [
{
"code": "standard_1",
"rate": 5,
"shipping": "yes",
"compound": "no",
"rate_id": 1,
"label": "5% - Tax"
},
{
"code": "standard_2",
"rate": 3,
"shipping": "yes",
"compound": "no",
"rate_id": 2,
"label": "3% - tax"
}
]
},
{
"code": "flat_rate:1",
"title": "Flat rate",
"cost": "10",
"cost_online": "yes",
"inclusive_tax": "no",
"tax_details": []
},
{
"code": "local_pickup:4",
"title": "Local pickup",
"cost": "",
"cost_online": "yes",
"inclusive_tax": "no",
"tax_details": []
}
],
"shipping_tax_class_flat_rate:10": "",
"shipping_tax_class_flat_rate:1": "op_notax",
"shipping_tax_class_local_pickup:4": "op_notax",
"barcode_meta_key": "_op_barcode",
"unit": "mm",
"sheet_width": "210",
"sheet_height": "300",
"sheet_vertical_space": "0",
"sheet_horizontal_space": "0",
"sheet_margin_top": "0",
"sheet_margin_right": "0",
"sheet_margin_bottom": "0",
"sheet_margin_left": "0",
"barcode_label_width": "52.5",
"barcode_label_height": "25",
"barcode_label_padding_top": "0",
"barcode_label_padding_right": "0",
"barcode_label_padding_bottom": "0",
"barcode_label_padding_left": "0",
"barcode_mode": "code_128",
"barcode_width": "40",
"barcode_height": "10",
"receipt_width": "2.28",
"receipt_padding_top": "0",
"receipt_padding_right": "0",
"receipt_padding_bottom": "0",
"receipt_padding_left": "0",
"receipt_template_header": "",
"receipt_template_footer": "",
"receipt_css": "",
"openpos_logo": "",
"openpos_type": "restaurant",
"dashboard_display": "tiles",
"pos_table_default_view": "product",
"openpos_login_mode": "default",
"pos_language": "_auto",
"pos_allow_custom_item": "yes",
"pos_allow_custom_note": "yes",
"time_frequency": "5000",
"pos_auto_sync": "yes",
"pos_clear_product": "yes",
"pos_display_outofstock": "no",
"accept_negative_checkout": "yes",
"pos_change_price": "yes",
"pos_image_width": "208",
"pos_image_height": "195",
"pos_categories": [
"19",
"18",
"17",
"16",
"20",
"21"
],
"pos_money": [],
"pos_custom_item_discount_amount": [
{
"type": "percent",
"amount": 5,
"label": "5%"
},
{
"type": "percent",
"amount": 10,
"label": "10%"
},
{
"type": "fixed",
"amount": 5,
"label": "<span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">$</span>5,00</bdi></span>"
}
],
"pos_custom_cart_discount_amount": [
{
"type": "percent",
"amount": 5,
"label": "5%"
},
{
"type": "percent",
"amount": 10,
"label": "10%"
},
{
"type": "fixed",
"amount": 5,
"label": "<span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">$</span>5,00</bdi></span>"
}
],
"pos_require_customer_mode": "no",
"pos_customer_autocomplete": "yes",
"pos_search_product_auto": "yes",
"pos_default_open_cash": "yes",
"pos_search_product_online": "yes",
"search_type": "suggestion",
"search_result_total": "10",
"pos_default_checkout_mode": "single",
"pos_enable_weight_barcode": "yes",
"pos_weight_barcode_format": "DDIIIIEEEEEEWWWWDDDDD",
"pos_laybuy": "yes",
"pos_allow_tip": "yes",
"pos_tip_amount": [
{
"label": "5",
"type": "fixed",
"amount": 5
},
{
"label": "10",
"type": "fixed",
"amount": 10
},
{
"label": "5%",
"type": "percent",
"amount": 5
},
{
"label": "10%",
"type": "percent",
"amount": 10
}
],
"op_themal_printer_interface": "usb",
"etax_hoadon_length": "7",
"etax_khmshdon": "01GTKT0/001",
"etax_khhdon": "AA/22E",
"etax_mst": "12323322211",
"etax_name": "Vu Anh",
"etax_address": "Hà Nội",
"etax_phone": "0934534534534",
"etax_email": "test@gmail.com",
"op_clover_domain": "https://sandbox.dev.clover.com/",
"op_clover_app_id": "ZN5PGM6SFDMQJ",
"op_clover_app_secret": "90a7e54e-e02b-4544-2d69-1b6a7d2e87c2",
"pos_allow_online_payment": "yes",
"openpos_tables": [
{
"id": 407,
"name": "Table 2",
"warehouse": "0",
"position": 0,
"seat": 6,
"type": "default",
"cost": 0,
"cost_type": "hour",
"status": "publish"
},
{
"id": 741,
"name": "VIP table",
"warehouse": "0",
"position": 0,
"seat": 6,
"type": "hire",
"cost": "100",
"cost_type": "session",
"status": "publish"
},
{
"id": 1531,
"name": "Table fee by percent",
"warehouse": "0",
"position": 0,
"seat": 0,
"type": "hire",
"cost": "10",
"cost_type": "table_percent",
"status": "publish"
},
{
"id": 2666,
"name": "Table 4 - fee by session",
"warehouse": "0",
"position": 0,
"seat": 2,
"type": "hire",
"cost": "5",
"cost_type": "session",
"status": "publish"
},
{
"id": 2668,
"name": "Table 6",
"warehouse": "0",
"position": 0,
"seat": 4,
"type": "default",
"cost": 0,
"cost_type": "hour",
"status": "publish"
},
{
"id": 2669,
"name": "Table 7",
"warehouse": "0",
"position": 0,
"seat": 0,
"type": "default",
"cost": 0,
"cost_type": "hour",
"status": "publish"
},
{
"id": 2670,
"name": "Table 8",
"warehouse": "0",
"position": 0,
"seat": 0,
"type": "default",
"cost": 0,
"cost_type": "hour",
"status": "publish"
},
{
"id": 2671,
"name": "Table 9",
"warehouse": "0",
"position": 0,
"seat": 0,
"type": "default",
"cost": 0,
"cost_type": "hour",
"status": "publish"
},
{
"id": 2672,
"name": "Table 10",
"warehouse": "0",
"position": 0,
"seat": 0,
"type": "default",
"cost": 0,
"cost_type": "hour",
"status": "publish"
},
{
"id": 3581,
"name": "Hire table",
"warehouse": "0",
"position": 0,
"seat": 0,
"type": "hire",
"cost": "10",
"cost_type": "hour",
"status": "publish"
},
{
"id": 189,
"name": "Table 1",
"warehouse": "0",
"position": 2,
"seat": 0,
"type": "hire",
"cost": "6.5",
"cost_type": "session",
"status": "publish"
},
{
"id": 2667,
"name": "Table 5 - fee by mins",
"warehouse": "0",
"position": 3,
"seat": 4,
"type": "hire",
"cost": "1",
"cost_type": "minute",
"status": "publish"
},
{
"id": 408,
"name": "Table 3",
"warehouse": "0",
"position": 6,
"seat": 12,
"type": "default",
"cost": 0,
"cost_type": "hour",
"status": "publish"
}
],
"openpos_customer_addition_fields": [
{
"code": "address",
"type": "text",
"label": "Address",
"options": [],
"placeholder": "Address",
"description": "",
"onchange_load": false,
"allow_shipping": "yes",
"required": "no",
"searchable": "no"
},
{
"code": "address_2",
"type": "text",
"label": "Address 2",
"options": [],
"placeholder": "Address 2",
"description": "",
"onchange_load": false,
"allow_shipping": "yes"
},
{
"code": "city",
"type": "text",
"label": "City",
"options": [],
"placeholder": "City",
"description": "",
"onchange_load": false,
"allow_shipping": "yes"
},
{
"code": "postcode",
"type": "text",
"label": "PostCode / Zip",
"options": [],
"placeholder": "PostCode / Zip",
"description": "",
"onchange_load": false,
"allow_shipping": "yes"
},
{
"code": "state",
"type": "select",
"label": "State",
"options": [
{
"value": "AL",
"label": "Alabama"
},
{
"value": "AK",
"label": "Alaska"
},
{
"value": "AZ",
"label": "Arizona"
},
{
"value": "AR",
"label": "Arkansas"
},
{
"value": "CA",
"label": "California"
},
{
"value": "CO",
"label": "Colorado"
},
{
"value": "CT",
"label": "Connecticut"
},
{
"value": "DE",
"label": "Delaware"
},
{
"value": "DC",
"label": "District of Columbia"
},
{
"value": "FL",
"label": "Florida"
},
{
"value": "GA",
"label": "Georgia"
},
{
"value": "HI",
"label": "Hawaii"
},
{
"value": "ID",
"label": "Idaho"
},
{
"value": "IL",
"label": "Illinois"
},
{
"value": "IN",
"label": "Indiana"
},
{
"value": "IA",
"label": "Iowa"
},
{
"value": "KS",
"label": "Kansas"
},
{
"value": "KY",
"label": "Kentucky"
},
{
"value": "LA",
"label": "Louisiana"
},
{
"value": "ME",
"label": "Maine"
},
{
"value": "MD",
"label": "Maryland"
},
{
"value": "MA",
"label": "Massachusetts"
},
{
"value": "MI",
"label": "Michigan"
},
{
"value": "MN",
"label": "Minnesota"
},
{
"value": "MS",
"label": "Mississippi"
},
{
"value": "MO",
"label": "Missouri"
},
{
"value": "MT",
"label": "Montana"
},
{
"value": "NE",
"label": "Nebraska"
},
{
"value": "NV",
"label": "Nevada"
},
{
"value": "NH",
"label": "New Hampshire"
},
{
"value": "NJ",
"label": "New Jersey"
},
{
"value": "NM",
"label": "New Mexico"
},
{
"value": "NY",
"label": "New York"
},
{
"value": "NC",
"label": "North Carolina"
},
{
"value": "ND",
"label": "North Dakota"
},
{
"value": "OH",
"label": "Ohio"
},
{
"value": "OK",
"label": "Oklahoma"
},
{
"value": "OR",
"label": "Oregon"
},
{
"value": "PA",
"label": "Pennsylvania"
},
{
"value": "RI",
"label": "Rhode Island"
},
{
"value": "SC",
"label": "South Carolina"
},
{
"value": "SD",
"label": "South Dakota"
},
{
"value": "TN",
"label": "Tennessee"
},
{
"value": "TX",
"label": "Texas"
},
{
"value": "UT",
"label": "Utah"
},
{
"value": "VT",
"label": "Vermont"
},
{
"value": "VA",
"label": "Virginia"
},
{
"value": "WA",
"label": "Washington"
},
{
"value": "WV",
"label": "West Virginia"
},
{
"value": "WI",
"label": "Wisconsin"
},
{
"value": "WY",
"label": "Wyoming"
},
{
"value": "AA",
"label": "Armed Forces (AA)"
},
{
"value": "AE",
"label": "Armed Forces (AE)"
},
{
"value": "AP",
"label": "Armed Forces (AP)"
}
],
"placeholder": "State",
"description": "",
"onchange_load": false,
"allow_shipping": "yes",
"default": "CA"
},
{
"code": "country",
"type": "select",
"label": "Country",
"options": [
{
"value": "AF",
"label": "Afghanistan"
},
{
"value": "AX",
"label": "Åland Islands"
},
{
"value": "AL",
"label": "Albania"
},
{
"value": "DZ",
"label": "Algeria"
},
{
"value": "AS",
"label": "American Samoa"
},
{
"value": "AD",
"label": "Andorra"
},
{
"value": "AO",
"label": "Angola"
},
{
"value": "AI",
"label": "Anguilla"
},
{
"value": "AQ",
"label": "Antarctica"
},
{
"value": "AG",
"label": "Antigua and Barbuda"
},
{
"value": "AR",
"label": "Argentina"
},
{
"value": "AM",
"label": "Armenia"
},
{
"value": "AW",
"label": "Aruba"
},
{
"value": "AU",
"label": "Australia"
},
{
"value": "AT",
"label": "Austria"
},
{
"value": "AZ",
"label": "Azerbaijan"
},
{
"value": "BS",
"label": "Bahamas"
},
{
"value": "BH",
"label": "Bahrain"
},
{
"value": "BD",
"label": "Bangladesh"
},
{
"value": "BB",
"label": "Barbados"
},
{
"value": "BY",
"label": "Belarus"
},
{
"value": "PW",
"label": "Belau"
},
{
"value": "BE",
"label": "Belgium"
},
{
"value": "BZ",
"label": "Belize"
},
{
"value": "BJ",
"label": "Benin"
},
{
"value": "BM",
"label": "Bermuda"
},
{
"value": "BT",
"label": "Bhutan"
},
{
"value": "BO",
"label": "Bolivia"
},
{
"value": "BQ",
"label": "Bonaire, Saint Eustatius and Saba"
},
{
"value": "BA",
"label": "Bosnia and Herzegovina"
},
{
"value": "BW",
"label": "Botswana"
},
{
"value": "BV",
"label": "Bouvet Island"
},
{
"value": "BR",
"label": "Brazil"
},
{
"value": "IO",
"label": "British Indian Ocean Territory"
},
{
"value": "BN",
"label": "Brunei"
},
{
"value": "BG",
"label": "Bulgaria"
},
{
"value": "BF",
"label": "Burkina Faso"
},
{
"value": "BI",
"label": "Burundi"
},
{
"value": "KH",
"label": "Cambodia"
},
{
"value": "CM",
"label": "Cameroon"
},
{
"value": "CA",
"label": "Canada"
},
{
"value": "CV",
"label": "Cape Verde"
},
{
"value": "KY",
"label": "Cayman Islands"
},
{
"value": "CF",
"label": "Central African Republic"
},
{
"value": "TD",
"label": "Chad"
},
{
"value": "CL",
"label": "Chile"
},
{
"value": "CN",
"label": "China"
},
{
"value": "CX",
"label": "Christmas Island"
},
{
"value": "CC",
"label": "Cocos (Keeling) Islands"
},
{
"value": "CO",
"label": "Colombia"
},
{
"value": "KM",
"label": "Comoros"
},
{
"value": "CG",
"label": "Congo (Brazzaville)"
},
{
"value": "CD",
"label": "Congo (Kinshasa)"
},
{
"value": "CK",
"label": "Cook Islands"
},
{
"value": "CR",
"label": "Costa Rica"
},
{
"value": "HR",
"label": "Croatia"
},
{
"value": "CU",
"label": "Cuba"
},
{
"value": "CW",
"label": "Curaçao"
},
{
"value": "CY",
"label": "Cyprus"
},
{
"value": "CZ",
"label": "Czech Republic"
},
{
"value": "DK",
"label": "Denmark"
},
{
"value": "DJ",
"label": "Djibouti"
},
{
"value": "DM",
"label": "Dominica"
},
{
"value": "DO",
"label": "Dominican Republic"
},
{
"value": "EC",
"label": "Ecuador"
},
{
"value": "EG",
"label": "Egypt"
},
{
"value": "SV",
"label": "El Salvador"
},
{
"value": "GQ",
"label": "Equatorial Guinea"
},
{
"value": "ER",
"label": "Eritrea"
},
{
"value": "EE",
"label": "Estonia"
},
{
"value": "SZ",
"label": "Eswatini"
},
{
"value": "ET",
"label": "Ethiopia"
},
{
"value": "FK",
"label": "Falkland Islands"
},
{
"value": "FO",
"label": "Faroe Islands"
},
{
"value": "FJ",
"label": "Fiji"
},
{
"value": "FI",
"label": "Finland"
},
{
"value": "FR",
"label": "France"
},
{
"value": "GF",
"label": "French Guiana"
},
{
"value": "PF",
"label": "French Polynesia"
},
{
"value": "TF",
"label": "French Southern Territories"
},
{
"value": "GA",
"label": "Gabon"
},
{
"value": "GM",
"label": "Gambia"
},
{
"value": "GE",
"label": "Georgia"
},
{
"value": "DE",
"label": "Germany"
},
{
"value": "GH",
"label": "Ghana"
},
{
"value": "GI",
"label": "Gibraltar"
},
{
"value": "GR",
"label": "Greece"
},
{
"value": "GL",
"label": "Greenland"
},
{
"value": "GD",
"label": "Grenada"
},
{
"value": "GP",
"label": "Guadeloupe"
},
{
"value": "GU",
"label": "Guam"
},
{
"value": "GT",
"label": "Guatemala"
},
{
"value": "GG",
"label": "Guernsey"
},
{
"value": "GN",
"label": "Guinea"
},
{
"value": "GW",
"label": "Guinea-Bissau"
},
{
"value": "GY",
"label": "Guyana"
},
{
"value": "HT",
"label": "Haiti"
},
{
"value": "HM",
"label": "Heard Island and McDonald Islands"
},
{
"value": "HN",
"label": "Honduras"
},
{
"value": "HK",
"label": "Hong Kong"
},
{
"value": "HU",
"label": "Hungary"
},
{
"value": "IS",
"label": "Iceland"
},
{
"value": "IN",
"label": "India"
},
{
"value": "ID",
"label": "Indonesia"
},
{
"value": "IR",
"label": "Iran"
},
{
"value": "IQ",
"label": "Iraq"
},
{
"value": "IE",
"label": "Ireland"
},
{
"value": "IM",
"label": "Isle of Man"
},
{
"value": "IL",
"label": "Israel"
},
{
"value": "IT",
"label": "Italy"
},
{
"value": "CI",
"label": "Ivory Coast"
},
{
"value": "JM",
"label": "Jamaica"
},
{
"value": "JP",
"label": "Japan"
},
{
"value": "JE",
"label": "Jersey"
},
{
"value": "JO",
"label": "Jordan"
},
{
"value": "KZ",
"label": "Kazakhstan"
},
{
"value": "KE",
"label": "Kenya"
},
{
"value": "KI",
"label": "Kiribati"
},
{
"value": "KW",
"label": "Kuwait"
},
{
"value": "KG",
"label": "Kyrgyzstan"
},
{
"value": "LA",
"label": "Laos"
},
{
"value": "LV",
"label": "Latvia"
},
{
"value": "LB",
"label": "Lebanon"
},
{
"value": "LS",
"label": "Lesotho"
},
{
"value": "LR",
"label": "Liberia"
},
{
"value": "LY",
"label": "Libya"
},
{
"value": "LI",
"label": "Liechtenstein"
},
{
"value": "LT",
"label": "Lithuania"
},
{
"value": "LU",
"label": "Luxembourg"
},
{
"value": "MO",
"label": "Macao"
},
{
"value": "MG",
"label": "Madagascar"
},
{
"value": "MW",
"label": "Malawi"
},
{
"value": "MY",
"label": "Malaysia"
},
{
"value": "MV",
"label": "Maldives"
},
{
"value": "ML",
"label": "Mali"
},
{
"value": "MT",
"label": "Malta"
},
{
"value": "MH",
"label": "Marshall Islands"
},
{
"value": "MQ",
"label": "Martinique"
},
{
"value": "MR",
"label": "Mauritania"
},
{
"value": "MU",
"label": "Mauritius"
},
{
"value": "YT",
"label": "Mayotte"
},
{
"value": "MX",
"label": "Mexico"
},
{
"value": "FM",
"label": "Micronesia"
},
{
"value": "MD",
"label": "Moldova"
},
{
"value": "MC",
"label": "Monaco"
},
{
"value": "MN",
"label": "Mongolia"
},
{
"value": "ME",
"label": "Montenegro"
},
{
"value": "MS",
"label": "Montserrat"
},
{
"value": "MA",
"label": "Morocco"
},
{
"value": "MZ",
"label": "Mozambique"
},
{
"value": "MM",
"label": "Myanmar"
},
{
"value": "NA",
"label": "Namibia"
},
{
"value": "NR",
"label": "Nauru"
},
{
"value": "NP",
"label": "Nepal"
},
{
"value": "NL",
"label": "Netherlands"
},
{
"value": "NC",
"label": "New Caledonia"
},
{
"value": "NZ",
"label": "New Zealand"
},
{
"value": "NI",
"label": "Nicaragua"
},
{
"value": "NE",
"label": "Niger"
},
{
"value": "NG",
"label": "Nigeria"
},
{
"value": "NU",
"label": "Niue"
},
{
"value": "NF",
"label": "Norfolk Island"
},
{
"value": "KP",
"label": "North Korea"
},
{
"value": "MK",
"label": "North Macedonia"
},
{
"value": "MP",
"label": "Northern Mariana Islands"
},
{
"value": "NO",
"label": "Norway"
},
{
"value": "OM",
"label": "Oman"
},
{
"value": "PK",
"label": "Pakistan"
},
{
"value": "PS",
"label": "Palestinian Territory"
},
{
"value": "PA",
"label": "Panama"
},
{
"value": "PG",
"label": "Papua New Guinea"
},
{
"value": "PY",
"label": "Paraguay"
},
{
"value": "PE",
"label": "Peru"
},
{
"value": "PH",
"label": "Philippines"
},
{
"value": "PN",
"label": "Pitcairn"
},
{
"value": "PL",
"label": "Poland"
},
{
"value": "PT",
"label": "Portugal"
},
{
"value": "PR",
"label": "Puerto Rico"
},
{
"value": "QA",
"label": "Qatar"
},
{
"value": "RE",
"label": "Reunion"
},
{
"value": "RO",
"label": "Romania"
},
{
"value": "RU",
"label": "Russia"
},
{
"value": "RW",
"label": "Rwanda"
},
{
"value": "BL",
"label": "Saint Barthélemy"
},
{
"value": "SH",
"label": "Saint Helena"
},
{
"value": "KN",
"label": "Saint Kitts and Nevis"
},
{
"value": "LC",
"label": "Saint Lucia"
},
{
"value": "SX",
"label": "Saint Martin (Dutch part)"
},
{
"value": "MF",
"label": "Saint Martin (French part)"
},
{
"value": "PM",
"label": "Saint Pierre and Miquelon"
},
{
"value": "VC",
"label": "Saint Vincent and the Grenadines"
},
{
"value": "WS",
"label": "Samoa"
},
{
"value": "SM",
"label": "San Marino"
},
{
"value": "ST",
"label": "São Tomé and Príncipe"
},
{
"value": "SA",
"label": "Saudi Arabia"
},
{
"value": "SN",
"label": "Senegal"
},
{
"value": "RS",
"label": "Serbia"
},
{
"value": "SC",
"label": "Seychelles"
},
{
"value": "SL",
"label": "Sierra Leone"
},
{
"value": "SG",
"label": "Singapore"
},
{
"value": "SK",
"label": "Slovakia"
},
{
"value": "SI",
"label": "Slovenia"
},
{
"value": "SB",
"label": "Solomon Islands"
},
{
"value": "SO",
"label": "Somalia"
},
{
"value": "ZA",
"label": "South Africa"
},
{
"value": "GS",
"label": "South Georgia/Sandwich Islands"
},
{
"value": "KR",
"label": "South Korea"
},
{
"value": "SS",
"label": "South Sudan"
},
{
"value": "ES",
"label": "Spain"
},
{
"value": "LK",
"label": "Sri Lanka"
},
{
"value": "SD",
"label": "Sudan"
},
{
"value": "SR",
"label": "Suriname"
},
{
"value": "SJ",
"label": "Svalbard and Jan Mayen"
},
{
"value": "SE",
"label": "Sweden"
},
{
"value": "CH",
"label": "Switzerland"
},
{
"value": "SY",
"label": "Syria"
},
{
"value": "TW",
"label": "Taiwan"
},
{
"value": "TJ",
"label": "Tajikistan"
},
{
"value": "TZ",
"label": "Tanzania"
},
{
"value": "TH",
"label": "Thailand"
},
{
"value": "TL",
"label": "Timor-Leste"
},
{
"value": "TG",
"label": "Togo"
},
{
"value": "TK",
"label": "Tokelau"
},
{
"value": "TO",
"label": "Tonga"
},
{
"value": "TT",
"label": "Trinidad and Tobago"
},
{
"value": "TN",
"label": "Tunisia"
},
{
"value": "TR",
"label": "Türkiye"
},
{
"value": "TM",
"label": "Turkmenistan"
},
{
"value": "TC",
"label": "Turks and Caicos Islands"
},
{
"value": "TV",
"label": "Tuvalu"
},
{
"value": "UG",
"label": "Uganda"
},
{
"value": "UA",
"label": "Ukraine"
},
{
"value": "AE",
"label": "United Arab Emirates"
},
{
"value": "GB",
"label": "United Kingdom (UK)"
},
{
"value": "US",
"label": "United States (US)"
},
{
"value": "UM",
"label": "United States (US) Minor Outlying Islands"
},
{
"value": "UY",
"label": "Uruguay"
},
{
"value": "UZ",
"label": "Uzbekistan"
},
{
"value": "VU",
"label": "Vanuatu"
},
{
"value": "VA",
"label": "Vatican"
},
{
"value": "VE",
"label": "Venezuela"
},
{
"value": "VN",
"label": "Vietnam"
},
{
"value": "VG",
"label": "Virgin Islands (British)"
},
{
"value": "VI",
"label": "Virgin Islands (US)"
},
{
"value": "WF",
"label": "Wallis and Futuna"
},
{
"value": "EH",
"label": "Western Sahara"
},
{
"value": "YE",
"label": "Yemen"
},
{
"value": "ZM",
"label": "Zambia"
},
{
"value": "ZW",
"label": "Zimbabwe"
}
],
"placeholder": "Choose Country",
"description": "",
"default": "US",
"allow_shipping": "yes",
"onchange_load": true
},
{
"code": "gender",
"type": "select",
"label": "Gender",
"options": [
{
"value": "male",
"label": "Male"
},
{
"value": "female",
"label": "Female"
}
],
"placeholder": "Gender",
"description": ""
},
{
"code": "company",
"type": "text",
"required": "yes",
"label": "Company",
"placeholder": "Enter Company",
"description": ""
}
],
"pos_incl_tax_mode": "yes",
"pos_prices_include_tax": "yes",
"pos_tax_included_discount": "yes",
"pos_item_incl_tax_mode": "yes",
"pos_tax_details": {
"rate": 0,
"label": "3% - tax",
"shipping": "yes",
"compound": "no",
"code": "standard_0",
"rate_id": 0
},
"pos_product_grid_column": 4,
"pos_product_grid_row": 4,
"pos_product_grid_column_sm": 4,
"pos_product_grid_row_sm": 4,
"pos_product_grid_column_xs": 4,
"pos_product_grid_row_xs": 4,
"pos_cat_grid_column": 4,
"pos_cat_grid_row": 4,
"pos_cat_grid_column_sm": 4,
"pos_cat_grid_row_sm": 4,
"pos_cat_grid_column_xs": 4,
"pos_cat_grid_row_xs": 4,
"receipt_gift_template": "<% if(final_items_discount_amount && final_items_discount_amount > 0) {%>\n\n<table>\n <tr class=\"tabletitle\">\n <td class=\"item\"><h2>Item</h2></td>\n\n <td class=\"qty\"><h2>Qty</h2></td>\n\n </tr>\n <% items.forEach(function(item){ %>\n <tr class=\"service\">\n <td class=\"tableitem item-name\">\n <p class=\"itemtext\"><%= item.name %></p>\n <% if(item.sub_name.length > 0){ %>\n\n <p class=\"option-item\"> <%- item.sub_name %> </p>\n\n <% }; %>\n\n </td>\n\n <td class=\"tableitem item-qty\"><p class=\"itemtext\"><%= item.qty %></p></td>\n\n </tr>\n <% }); %>\n\n</table>\n\n<% } else{ %>\n\n<table>\n <tr class=\"tabletitle\">\n <td class=\"item\"><h2>Item</h2></td>\n\n <td class=\"qty\"><h2>Qty</h2></td>\n\n </tr>\n <% items.forEach(function(item){ %>\n <tr class=\"service\">\n <td class=\"tableitem item-name\">\n <p class=\"itemtext\"><%= item.name %></p>\n <% if(item.sub_name.length > 0){ %>\n\n <p class=\"option-item\"> <%- item.sub_name %> </p>\n\n <% }; %>\n\n </td>\n\n <td class=\"tableitem item-qty\"><p class=\"itemtext\"><%= item.qty %></p></td>\n\n\n </tr>\n <% }); %>\n\n</table>\n\n<% } %>",
"receipt_template": "",
"pos_desk_multi_pay": "yes",
"pos_auto_dish_send": "no",
"pos_available_taxes": [
{
"tax_class": "standard",
"tax_class_name": "Standard",
"rates": [
{
"code": "standard_1",
"rate_id": 1,
"tax_class": "standard",
"label": "5% - Tax",
"shipping": "yes",
"compound": "no",
"rate": 5
},
{
"code": "standard_2",
"rate_id": 2,
"tax_class": "standard",
"label": "3% - tax",
"shipping": "yes",
"compound": "no",
"rate": 3
}
]
},
{
"tax_class": "dine-in-rate",
"tax_class_name": "Dine IN Rate",
"rates": [
{
"code": "dine-in-rate_6",
"rate_id": 6,
"tax_class": "dine-in-rate",
"label": "Desk Tax",
"shipping": "yes",
"compound": "no",
"rate": 10
}
]
},
{
"tax_class": "takeaway-rate",
"tax_class_name": "Takeaway Rate",
"rates": [
{
"code": "takeaway-rate_5",
"rate_id": 5,
"tax_class": "takeaway-rate",
"label": "Takeaway Tax",
"shipping": "yes",
"compound": "no",
"rate": 5
}
]
},
{
"tax_class": "zero-rate",
"tax_class_name": "Zero rate",
"rates": [
{
"code": "zero-rate_3",
"rate_id": 3,
"tax_class": "zero-rate",
"label": "Free Tax",
"shipping": "yes",
"compound": "no",
"rate": 0
}
]
}
],
"currency": {
"decimal": 2,
"decimal_separator": ",",
"thousand_separator": ".",
"currency_pos": "left",
"code": "USD",
"symbol": "$",
"rate": 1
},
"currencies": {
"USD": {
"decimal": 2,
"decimal_separator": ",",
"thousand_separator": ".",
"currency_pos": "left",
"code": "USD",
"symbol": "$",
"rate": 1
}
},
"pos_cart_buttons": [
"cart-note",
"shipping",
"pickup",
"cart-discount",
"coupon",
"custom-item",
"seller",
"fee"
],
"pos_weight_barcode_prefix": "20",
"pos_enable_food_label": "yes",
"custom_fees": [
{
"title": "sample fee 5 percentage",
"amount": 5,
"type": "percent"
},
{
"title": "sample fee 7 fixed ",
"amount": 7,
"type": "fixed"
},
{
"title": "sample negative fee -10 ",
"amount": -10,
"type": "fixed"
}
],
"pos_desk_checkout_update": "no",
"pos_cart_item_incl_tax_mode": "no",
"pos_event_print": "yes",
"trigger_cashdrawer": "yes",
"pos_kitchent_event_print": "yes",
"receipt_full_template": "<html><head><style type=\"text/css\" media=\"print,screen\">#op-page-cut{page-break-after: always; }#invoice-POS { padding: 0in 0in 0in 0in;margin: 0 auto;background: #fff;width: 2.28in ;}@page{\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n margin-top: 0px;\r\n margin-bottom: 0px;\r\n}\r\nh1{\r\n font-size: 1.5em;\r\n color: #000;\r\n}\r\nh2{font-size: .9em;}\r\nh3{\r\n font-size: 1.2em;\r\n font-weight: 300;\r\n line-height: 2em;\r\n}\r\np{\r\n font-size: .7em;\r\n color: #000;\r\n line-height: 1.2em;\r\n}\r\n\r\n#top, #mid,#bot{\r\n border-bottom: 1px solid #000;\r\n}\r\n\r\n#top{\r\n min-height: 100px;\r\n text-align: center;\r\n}\r\n#mid{min-height: 80px;}\r\n#bot{ min-height: 50px;}\r\n\r\n#top .logo{\r\n\theight: 60px;\r\n\twidth: 60px;\r\n\tno-repeat;\r\n\tbackground-size: 60px 60px;\r\n}\r\n.clientlogo{\r\n float: left;\r\n\theight: 60px;\r\n\twidth: 60px;\r\n\tbackground-size: 60px 60px;\r\n border-radius: 50px;\r\n}\r\n.info{\r\n display: block;\r\n margin-left: 0;\r\n}\r\n.info p{\r\n margin: 0;\r\n padding: 0 2px;\r\n}\r\n.title{\r\n float: right;\r\n}\r\n.title p{text-align: right;}\r\ntable{\r\n width: 100%;\r\n border-collapse: collapse;\r\n}\r\n.tabletitle{\r\n font-size: .5em;\r\n}\r\n.items-table-label{\r\n border-bottom:solid 1px #000;\r\n}\r\n.service{border-bottom: 1px dotted #000;}\r\n.item{width: 24mm;}\r\n.itemtext{\r\n font-size: .5em;\r\n margin-bottom:0;\r\n display: inline-block;\r\n}\r\n.option-item{\r\n font-size: .5em;\r\n font-style: italic;\r\n display: block;\r\n color: #000;\r\n}\r\n#legalcopy{\r\n margin-top: 5mm;\r\n}</style></head><body style=\"margin:0;\"><div id=\"invoice-POS\" class=\"tempalte-type-\"><% if(total_paid == 0 ){ return \"Please take payment to print\";} %> <div id=\"top\"> <div class=\"logo\" style=\"font-size:30px;\">test</div> <div class=\"info\"> <h2><%= order_number_format %></h2> </div> </div> <div id=\"mid\"> <div class=\"info\"> <p>Note: <%= note %></p> <p>Order Date: <%= created_at %></p> <% if(addition_information.length > 0){ %> <% addition_information.forEach(function(info){ %> <p><%= info.label %>: <%= info.value %></p> <% }) %> <% } %> <p>Customer Point: <%= customer.point %></p> <p>Customer Name: <%= customer.name %></p> <p>Customer phone : <%= customer.phone %></p> <p>Customer email : <%= customer.email %></p> <p>Customer address : <%= customer.address %></p> <p>Customer address_2 : <%= customer.address_2 %></p> <p>Customer city : <%= customer.city %></p> <p>Customer state : <%= customer.state %></p> <p>Customer postcode : <%= customer.postcode %></p> <p>Customer country : <%= customer.country %></p> <p>Register : <%= register.name %> </p> <p>Cashier : <% if(typeof sale_person_name != \"undefined\") { %> <%= sale_person_name %> <% } %> </p> </div> <div class=\"payment-details\"> <ul class=\"payment-methods\"> <% payment_method.forEach(function(payment){ %> <li> <%= payment.name %> : <%= payment.paid_currency_formatted %> <% if (payment.ref.length > 0) { %> <span>( REF: <%= payment.ref %> )</span> <% } %> </li> <% if (payment.code == \"cash\" && payment.return > 0) { %> <li>Return: <%= payment.return_currency_formatted %></li> <% } %> <% if (payment.code == \"op_credit_return\" ) { %> <li>voucher code: <%= payment.callback_data.code %></li> <% } %> <% }); %> </ul> </div> <% if(add_shipping){ %> <div class=\"shipping-details\"> <p>Shipping method: <%- shipping_information.shipping_method_details.label %></p> <p>Shipping name: <%- shipping_information.name %></p> <p>Shipping address: <%- shipping_information.address %></p> <p>Shipping address 2: <%- shipping_information.address_2 %></p> <p>Shipping city: <%- shipping_information.city %></p> <p>Shipping postcode: <%- shipping_information.postcode %></p> <p>Shipping state: <%- shipping_information.state %></p> </div> <% }; %> </div> <% var total_qty = 0; %> <table> <tr class=\"tabletitle items-table-label\"> <td class=\"item\"><h2>Item</h2></td> <td class=\"qty\"><h2>Price</h2></td> <td class=\"qty\"><h2>Price(incl tax)</h2></td> <td class=\"qty\"><h2>Qty</h2></td> <td class=\"total\"><h2>Total</h2></td> <td class=\"total\"><h2>Discount</h2></td> <td class=\"total\"><h2>Tax</h2></td> <td class=\"total\"><h2>Total incl_tax</h2></td> </tr> <% items.forEach(function(item){ %> <% total_qty += item.qty; %> <tr class=\"service\"> <td class=\"tableitem item-name\"> <p class=\"itemtext\"><%= item.name %></p> <% if(item.sub_name.length > 0){ %> <p class=\"option-item\"> <%- item.sub_name %> </p> <% }; %> <% if(item.bundles.length > 0){ %> <% item.bundles.forEach(function(bundle){ %> <p class=\"bundle-item option-item\"><%- bundle.qty %> x <%- bundle.label %> </p> <% }); %> <% }; %> </td> <td class=\"tableitem item-price\"> <p class=\"itemtext\"> <% if( item.price_currency_formatted != item.final_price_currency_formatted ) {%> <span style=\"text-decoration: line-through;\"><%= item.price_currency_formatted %></span> <% }; %> <%= item.final_price_currency_formatted %> </p> </td> <td class=\"tableitem item-qty\"><p class=\"itemtext\"><%= item.final_price_incl_tax_currency_formatted %></p></td> <td class=\"tableitem item-qty\"> <p class=\"itemtext\"><%= item.qty %></p> <% if( item.refund_qty > 0 ) {%> <p class=\"itemtext refund-qty\">Refunded Qty: <%= item.refund_qty %></p> <% }; %> </td> <td class=\"tableitem item-total\"><p class=\"itemtext\"><%= item.total_currency_formatted %></p></td> <td class=\"tableitem item-total\"><p class=\"itemtext\"><%= item.final_discount_amount_currency_formatted %></p></td> <td class=\"tableitem item-total\"><p class=\"itemtext\"><%= item.tax_amount_currency_formatted %></p></td> <td class=\"tableitem item-total\"><p class=\"itemtext\"><%= item.total_incl_tax_currency_formatted %></p></td> </tr> <% }); %> <% if(typeof fee_items != \"undefined\" ) { %> <% fee_items.forEach(function(fee_item){ %> <tr class=\"fee service\"> <td class=\"tableitem item-name\" colspan=\"4\"> <p class=\"itemtext\"><%= fee_item.name %></p> </td> <td class=\"tableitem item-total\"><p class=\"itemtext\"><%= fee_item.total %></p></td> <td class=\"tableitem item-total\"><p class=\"itemtext\"><%= fee_item.tax %></p></td> <td class=\"tableitem item-total\"><p class=\"itemtext\"><%= fee_item.total_incl_tax %></p></td> </tr> <% }); %> <% } %> <tr class=\"tabletitle\"> <td class=\"Rate sub-total-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2>Sub Total</h2></td> <td class=\"payment sub-total-amount\"><h2><%= sub_total_currency_formatted %></h2></td> </tr> <% if(typeof total_fee != \"undefined\" && total_fee > 0) { %> <tr class=\"tabletitle\"> <td class=\"Rate fee-total-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2>Fee</h2></td> <td class=\"payment sub-total-amount\"><h2><%= total_fee %></h2></td> </tr> <% } %> <tr class=\"tabletitle\"> <td class=\"Rate shipping-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2>Shipping</h2></td> <td class=\"payment shipping-amount\"><h2><%= shipping_cost_currency_formatted %></h2></td> </tr> <tr class=\"tabletitle\"> <td class=\"Rate tax-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2>Discount</h2></td> <td class=\"payment cart-discount-amount\"><h2><%= final_discount_amount_currency_formatted %></h2></td> </tr> <% tax_details.forEach(function(tax){ %> <tr class=\"tabletitle\"> <td class=\"Rate tax-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2><%= tax.rate %>% - <%= tax.label %></h2></td> <td class=\"payment tax-amount\"><h2><%= tax.total %></h2></td> </tr> <% }); %> <tr class=\"tabletitle\"> <td class=\"Rate tax-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2>Total Tax</h2></td> <td class=\"payment tax-amount\"><h2><%= tax_amount_currency_formatted %></h2></td> </tr> <tr class=\"tabletitle\"> <td class=\"Rate grand-total-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2>Grand Total</h2></td> <td class=\"payment grand-total-amount\"><h2><%= grand_total_currency_formatted %></h2></td> </tr> <% if(typeof point_discount != \"undefined\" && point_discount.point_money){%> <tr class=\"tabletitle\"> <td class=\"Rate grand-total-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2>Customer Point</h2></td> <td class=\"payment grand-total-amount\"><h2><%= point_discount.point_money %></h2></td> </tr> <% } %> <% if(typeof customer_total_paid_currency_formatted != \"undefined\") { %> <tr class=\"tabletitle\"> <td class=\"Rate grand-total-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2>Customer Paid</h2></td> <td class=\"payment grand-total-amount\"><h2><%= customer_total_paid_currency_formatted %></h2></td> </tr> <% } %> <tr class=\"tabletitle\"> <td class=\"Rate grand-total-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2>Remain Amount</h2></td> <td class=\"payment grand-total-amount\"><h2><%= remain_paid_currency_formatted %></h2></td> </tr> <tr class=\"tabletitle\"> <td class=\"Rate grand-total-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2> Total QTY</h2></td> <td class=\"payment grand-total-amount\"><h2><%= total_qty %></h2></td> </tr> <% if(typeof tip != \"undefined\" && tip != null && tip.total > 0){%> <tr class=\"tabletitle\"> <td class=\"Rate grand-total-title\" style=\"text-align:right;padding-right:5px;\" colspan=\"6\"><h2> TIP</h2></td> <td class=\"payment grand-total-amount\"><h2><%= tip.total_currency_formatted %></h2></td> </tr> <% } %> </table> <% if(refunds.length > 0){ %> <p>REFUNDS</p> <% refunds.forEach(function(refund){ %> <% var date = new Date(refund.created_at_time); var tmonthNames = [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\" ]; %> <table> <tr> <td colspan=\"3\"> <p>DATE: <b><%-date.getFullYear() %>/<%- tmonthNames[date.getMonth()] %>/<%-date.getDate() %></b> </p> </td> </tr> <tr class=\"tabletitle items-table-label\"> <td>Item</td> <td>Refund Qty</td> <td>Refund Total</td> </tr> <% refund.items.forEach(function(item){ %> <tr> <td class=\"tableitem\"><p class=\"itemtext\"><%= item.item.name %></p></td> <td class=\"tableitem\"><p class=\"itemtext\"><%= item.qty %></p></td> <td class=\"tableitem\"><p class=\"itemtext\"><%= item.refund_total_incl_tax.toFixed(2) %></p></td> </tr> <% }); %> </table <% }); %> <% } %> <% if(source_type == \"desk\"){ %> <div><p>Desk: <%= source.name %></p></div> <% } %> <% if(source_type == \"takeaway\"){ %> <div><p>Takeaway: <%= source.name %></p></div> <% } %> <div id=\"legalcopy\"> <p class=\"legal\"><strong>Thank you for your business!</strong> Payment is expected within 31 days; please process this invoice within that time. There will be a 5% interest charge per month on late invoices.</p> </div></div><p id=\"op-page-cut\"> </p></body></html>",
"pos_kitchen_receipt_template": "<html><head><style type=\"text/css\" media=\"print,screen\">#op-page-cut{page-break-after: always; }#invoice-POS { padding: 0in 0in 0in 0in;margin: 0 auto;background: #fff;width: 2.28in ;}h1{\r\nfont-size: 1.5em;\r\ncolor: #000;\r\n}\r\nh2{font-size: .9em;}\r\nh3{\r\nfont-size: 1.2em;\r\nfont-weight: 300;\r\nline-height: 2em;\r\n}\r\np{\r\nfont-size: .7em;\r\ncolor: #000;\r\nline-height: 1.2em;\r\n}\r\n.info{\r\ndisplay: block;\r\nmargin-left: 0;\r\n}\r\n.info p{\r\n margin: 0;\r\n padding: 0 2px;\r\n}\r\n.title{\r\nfloat: right;\r\n}\r\n.title p{text-align: right;}\r\ntable{\r\nwidth: 100%;\r\nborder-collapse: collapse;\r\n}\r\n.tabletitle{\r\nfont-size: .5em;\r\n}\r\n.items-table-label{\r\nborder-bottom:solid 1px #000;\r\n}\r\n.service{border-bottom: 1px dotted #000;}\r\n.item{width: 24mm;}\r\n.itemtext{\r\n font-size: .5em;\r\n margin-bottom:0;\r\n display: inline-block;\r\n}\r\n.option-item{\r\n font-size: .5em;\r\n font-style: italic;\r\n display: block;\r\n color: #000;\r\n}\r\n.item-qty .itemtext{\r\n text-align: center;\r\n}\r\n.item-time .itemtext{\r\n text-align: right;\r\n}\r\n#top .info{\r\n text-align:center;\r\n}\r\n.served .tableitem p{\r\n text-decoration: line-through;\r\n}</style></head><body style=\"margin:0;\"><div id=\"invoice-POS\" class=\"tempalte-type-kitchen\"><% var receipt_tax_total = 0; var receipt_sub_total = 0; var receipt_grand_total = 0; var receipt_tax_details = []; var tax_details_codes = {}; %> <% var date = new Date(created_at_time); var tmonthNames = [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\" ]; %> <p> Year <b><%-date.getFullYear() %></b> Month <b><%- tmonthNames[date.getMonth()] %></b> Date <b><%-date.getDate() %></b> <b>Hours: <%-date.getHours() %></b> <b>Minutes: <%-date.getMinutes() %></b> </p> <div id=\"top\"> <div class=\"info\"> <h2><%= desk.name %></h2> <h2><%= note %></h2> <h2>Seller: <%= seller.name %></h2> <% if(customer != null){ %> <h2>Customer: <%= customer.email %></h2> <% } %> </div> </div> <table> <tr class=\"tabletitle items-table-label\"> <td class=\"item\"><h2>Item</h2></td> <td class=\"total\"><h2>Price</h2></td> <td class=\"qty\"><h2>Qty</h2></td> <td class=\"qty\"><h2>Sub-total</h2></td> <td class=\"total\"><h2>Tax</h2></td> <td class=\"seller\"><h2>Total</h2></td> </tr> <% items.forEach(function(item){ %> <% let item_price = parseFloat(item.final_price).toFixed(2); let item_sub_total = parseFloat(item.total).toFixed(2); let item_total_tax = parseFloat(item.total_tax).toFixed(2); let item_total_incl_tax = 1*item_sub_total + 1*item_total_tax; let item_tax_details = item.tax_details; receipt_sub_total += 1*item_sub_total; receipt_grand_total += 1*item_total_incl_tax; item_tax_details.forEach(function(tax){ var tax_code = tax.code; if(tax_details_codes[tax_code]){ tax_details_codes[tax_code].total += tax.total; }else{ tax_details_codes[tax_code] = { \"code\" : tax.code, \"label\" : tax.label, \"rate\" : tax.rate, \"total\" : tax.total, }; } }); %> <tr class=\"service <%- item.state %> \"> <td class=\"tableitem item-name\"> <p class=\"itemtext\"><%= item.name %></p> <% if(item.sub_name.length > 0){ %> <p class=\"option-item\"> <%- item.sub_name %> </p> <% }; %> </td> <td class=\"tableitem item-qty\"><p class=\"itemtext\"><%=item_price %></p></td> <td class=\"tableitem item-qty\"><p class=\"itemtext\"><%=item.qty %></p></td> <td class=\"tableitem item-qty\"><p class=\"itemtext\"><%=item_sub_total %></p></td> <td class=\"tableitem item-qty\"><p class=\"itemtext\"><%=item_total_tax %></p></td> <td class=\"tableitem item-qty\"><p class=\"itemtext\"><%=item_total_incl_tax %></p></td> </tr> <% }); %> <tr> <td colspan=\"5\">Sub Total</td> <td><%=parseFloat(receipt_sub_total).toFixed(2); %></td> </tr> <% for(let code in tax_details_codes) { receipt_tax_total += tax_details_codes[code].total; receipt_tax_details.push(tax_details_codes[code]); } %> <% receipt_tax_details.forEach(function(tax){ %> <tr> <td colspan=\"5\"><h2><%= tax.rate %>% - <%= tax.label %></h2></td> <td><%= tax.total.toFixed(2); %></td> </tr> <% }); %> <tr> <td colspan=\"5\">Total Tax</td> <td><%=parseFloat(receipt_tax_total).toFixed(2); %> </td> </tr> <tr> <td colspan=\"5\">Grand Total</td> <td><%=parseFloat(receipt_grand_total).toFixed(2); %></td> </tr> </table></div><p id=\"op-page-cut\"> </p></body></html>",
"pos_delivery_receipt_template": "<html><head><style type=\"text/css\" media=\"print,screen\">#op-page-cut{page-break-after: always; }#invoice-POS { padding: 0in 0in 0in 0in;margin: 0 auto;background: #fff;width: 8.3in ;}table,p,div,tr,td,th{\n font-size: 15px;\n}\ntable{\n width: 100%;\n}\ntable.list-items{\n border-bottom:solid 1px #fff;\n \n}\ntable,tr,td,th{\n border: solid 1px #000;\n border-collapse: collapse;\n}\ntd,th{\n padding: 5px 2px;\n}\n.text-center{\n text-align:center;\n}\n.no-border{\n border: solid 1px transparent;\n border-right: solid 1px #000;\n}\n.receipt-header{\n\tpadding: 5px 0 20px 5px;\n}\n.receipt-body{\npadding: 5px 5px 20px 5px;\n}\n.receipt-bottom{\n\tpadding: 5px 0 10px 5px;\n text-transform: uppercase;\n}\n.company-info p,.receipt-info p{\n margin: 0;\n}\n.receipt-signature{\n border-bottom: solid 1px #000;\n width: 50%;\n height:100px;\n}\n.thank-you-label{\n font-size:30px;;\n}\n.header-left,.header-right{\n\twidth: 50%;\n float:left;\n \n}\n.header-right th{\n\ttext-align: left;\n width: \n}\n.receipt-info-title{\n margin: 0;\n padding: 10px;\n border-bottom: solid 1px #000;\n}\n.receipt-info,.company-info{\n\tpadding: 10px 3px;\n}\n.receipt-no-value, .receipt-date-value{\n\n min-width: 205px;\n}</style></head>\n<body style=\"margin:0;\">\n<div id=\"invoice-POS\">\n\n<% var date = new Date(created_at_time); var tmonthNames = [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\",\n \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"\n]; %>\n<% var total_include_tax = 0; %>\n<% var total_tax = 0; %>\n<div class=\"receipt-header\">\n\t<div class=\"header-left\">\n <h2>DELIVERY RECEIPT</h2>\n <div class=\"company-info\">\n <p>Open POS Ltd</p>\n\t\t\t<p>123 Main Street</p>\n\t\t\t<p>Hamilton, OH 44416</p>\n\t\t\t<p>(321) 456-7890</p>\n\t\t\t<p>anhvnit@gmail.com</p>\n </div>\n </div>\n <div class=\"header-right\">\n <table>\n <tr>\n <th>DATE</th>\n <td class=\"receipt-date-value\">\n <p class=\"text-center\">\n <%-date.getFullYear() %>/<%- tmonthNames[date.getMonth()] %>/<%-date.getDate() %></p>\n </td>\n </tr>\n <tr>\n <th>RECEIPT NO.</th>\n <td class=\"text-center\"><p class=\"receipt-no-value\"><%= order_number %></p></td>\n </tr>\n </table>\n <p class=\"text-center receipt-info-title\">RECIPIENT INFO</p>\n <div class=\"receipt-info\">\n <% if(shipping != null){ %>\n <p><%= shipping.shipping_information.firstname +\" \"+ shipping.shipping_information.lastname %></p>\n <p><%= shipping.shipping_information.address %></p>\n\t\t <p><%= shipping.shipping_information.city %>, <%= shipping.shipping_information.state %> <%= shipping.shipping_information.postcode %> </p>\n <p><%= shipping.shipping_information.phone %></p>\n <% } %>\n </div>\n </div>\n\n</div>\n<div class=\"receipt-body\">\n<table class=\"list-items\">\n<tr>\n <th>DESCRIPTION </th>\n <th>QTY</th>\n <th>PRICE</th>\n <th>TOTAL</th>\n</tr>\n<% items.forEach(function(item){ %>\n <% total_include_tax += item.total_incl_tax; %>\n <tr>\n <td><%= item.name %></td>\n <td class=\"text-center\"><%= item.qty %></td>\n <td class=\"text-center\"><%= item.final_price_incl_tax.toFixed(2) %></td>\n <td class=\"text-center\"><%= item.total_incl_tax.toFixed(2) %></td>\n</tr> \n<% }); %>\n<tr>\n <td class=\"no-border\" colspan=\"2\"></td>\n <td class=\"text-center\">Total</td>\n <td class=\"text-center\"><%= total_include_tax.toFixed(2) %></td>\n</tr> \n</table>\n</div>\n<div class=\"receipt-bottom\">\n<p class=\"thank-you-label\">Thank you</p>\n<p class=\"receipt-signature\">\n<span>RECIPIENT SIGNATURE</span>\n</p>\n</div>\n\n</div>\n<p id=\"op-page-cut\"> </p>\n</body></html>",
"pos_decal_receipt_template": "<html><head><style type=\"text/css\" media=\"print,screen\">#op-page-cut{page-break-after: always; }#invoice-POS { padding: 0in 0in 0in 0in;margin: 0 auto;background: #fff;width: 2.28in ;}p{\n margin: 0;\n padding: 0;\n font-size:13px;\n}\n.bundle-item,\n.option-item{\n font-size: .6em;\n font-style: italic;\n display: block;\n color: #000;\n clear:both;\n}\n\n.item-total{\n border-top: dotted 1px #000;\n text-align: right;\n padding: 5px;\n font-weight:bold;\n}\n.item-name{\npadding: 5px;\n}\n.item-date{\ntext-align: right;\nmargin: 0;\npadding: 0 1px;\nfont-size: 12px;\n}\n.thankyou,.store-name{\ntext-align: center;\nfont-size: 12px;\n}\n\n.op-label-cut{page-break-after: always; }\n.op-label-cut:last-child{page-break-after: avoid; }\n</style></head><body style=\"margin:0;\"><div id=\"invoice-POS\" class=\"tempalte-type-decal\"><% items.forEach(function(item){ %> <% var date = new Date(item.update_time); var tmonthNames = [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\" ]; %> <% for(var i=0; i< item.qty; i++){%> <div class=\"label-container\"> <p class=\"item-date\"> <%-date.getDate() %>/<%- tmonthNames[date.getMonth()] %>/<%-date.getFullYear() %> </p> <% if(source == \"order\"){ %> <p class=\"store-name\"><%- order.order_number_format %></p> <% }else{ %> <p class=\"store-name\"><%- order.label %></p> <% } %> <p class=\"item-name\"> <%= item.name %> <% if(item.sub_name.length > 0){ %> <span class=\"option-item\"> <%- item.sub_name %> </span> <% }; %> <% item.bundles.forEach(function(bundle){ %> <span class=\"bundle-item\"> <%- bundle.qty %>x<%- bundle.label %> </span> <% })%> </p> <p class=\"item-total\">Total: <%= item.final_price_incl_tax.toFixed(2) %></p> <p class=\"thankyou\">Thank You For Your Purchase</p> </div> <p class=\"op-label-cut\"> </p> <% } %> <% }) %></div><p id=\"op-page-cut\"> </p></body></html>",
"pos_online_order_submit": "yes",
"pos_default_shipping_code": "local_pickup:4",
"pos_custom_item_tax": "standard",
"pos_cart_update_event": "yes",
"pos_default_save_cart_online": "yes",
"openpos_customer_basic_fields": [
{
"code": "firstname",
"type": "text",
"label": "First name",
"options": [],
"placeholder": "First name",
"description": "",
"default": "",
"allow_shipping": "yes",
"required": "no",
"searchable": "no"
},
{
"code": "lastname",
"type": "text",
"label": "Last name",
"options": [],
"placeholder": "Last name",
"description": "",
"default": "",
"allow_shipping": "yes",
"required": "no",
"searchable": "no"
},
{
"code": "email",
"type": "email",
"label": "Email",
"placeholder": "Email",
"description": "",
"default": "",
"allow_shipping": "no",
"required": "yes",
"searchable": "yes",
"editable": "true"
},
{
"code": "phone",
"type": "text",
"label": "Phone",
"placeholder": "Phone",
"description": "",
"default": "+84",
"allow_shipping": "yes",
"required": "no",
"searchable": "yes"
}
],
"pos_default_create_customer": "no",
"pos_addition_checkout_fields": [
{
"code": "enable_etax",
"type": "select",
"label": "Xuất hóa đơn điện tử",
"description": "",
"require": "yes",
"default": "no",
"options": [
{
"value": "no",
"label": "Không"
},
{
"value": "yes",
"label": "Có"
}
]
},
{
"code": "tax_code",
"type": "text",
"label": "Mã số thuế",
"description": "",
"require": "yes",
"default": "",
"condition": {
"action": "show",
"groups": [
{
"operator": "and",
"items": [
{
"operator": "",
"option_id": "enable_etax",
"relation": "is",
"value": "yes"
}
]
}
]
}
},
{
"code": "tax_buyer_name",
"type": "text",
"label": "Tên người mua",
"description": "",
"require": "yes",
"default": "",
"condition": {
"action": "show",
"groups": [
{
"operator": "and",
"items": [
{
"operator": "",
"option_id": "enable_etax",
"relation": "is",
"value": "yes"
}
]
}
]
}
},
{
"code": "tax_buyer_address",
"type": "text",
"label": "Địa chỉ người mua",
"description": "",
"require": "yes",
"default": "",
"condition": {
"action": "show",
"groups": [
{
"operator": "and",
"items": [
{
"operator": "",
"option_id": "enable_etax",
"relation": "is",
"value": "yes"
}
]
}
]
}
}
],
"openpos_product_addition_fields": [
{
"code": "text_field",
"type": "text",
"required": "yes",
"label": "Text Field Label",
"placeholder": "Enter text field",
"description": ""
},
{
"code": "checkbox",
"type": "checkbox",
"label": "Checkbox",
"options": [
{
"value": "male",
"label": "Male"
},
{
"value": "female",
"label": "Female"
}
],
"placeholder": "Checkbox Sample",
"description": "",
"default": [
"male"
]
},
{
"code": "radio",
"type": "radio",
"label": "Radio",
"options": [
{
"value": "radio1",
"label": "Value 1"
},
{
"value": "radio2",
"label": "value 2"
}
],
"placeholder": "Checkbox Sample",
"description": "",
"default": [
"radio2"
]
},
{
"code": "select",
"type": "select",
"label": "Select Fields",
"options": [
{
"value": "s1",
"label": "select 1"
},
{
"value": "s2",
"label": "select 2"
}
],
"placeholder": "Checkbox Sample",
"description": "",
"default": [
"s2"
]
},
{
"code": "upload_file",
"type": "upload",
"label": "Image",
"options": [],
"placeholder": "",
"description": "test description",
"default": ""
}
],
"pos_money_counter": [
{
"name": "$0,50",
"value": 0.5
},
{
"name": "$1,00",
"value": 1
},
{
"name": "$5,00",
"value": 5
},
{
"name": "$10,00",
"value": 10
},
{
"name": "$50,00",
"value": 50
},
{
"name": "$100,00",
"value": 100
}
],
"fee_base_on": "sub_total"
},
"sale_persons": [
{
"ID": "1",
"user_login": "admin",
"user_nicename": "admin",
"user_email": "anhvnit@gmail.com",
"user_url": "",
"user_registered": "2018-09-19 15:21:53",
"user_activation_key": "",
"user_status": "0",
"display_name": "admin",
"id": 1,
"name": "admin",
"avatar": "https://secure.gravatar.com/avatar/dd2ea7fb8de5b785359341daa62a9511eef7551a94835cab8d18495e6952af4f?s=96&d=mm&r=g"
},
{
"ID": "2",
"user_login": "test",
"user_nicename": "test",
"user_email": "abcvna@gmail.com",
"user_url": "",
"user_registered": "2018-09-19 15:29:53",
"user_activation_key": "",
"user_status": "0",
"display_name": "Sharon Sinner",
"id": 2,
"name": "Sharon Sinner",
"avatar": "https://secure.gravatar.com/avatar/80b878d182ac7ee110aed4214b52037042ff844a0e047154792429709842f045?s=96&d=mm&r=g"
}
],
"payment_methods": [
{
"code": "paypal",
"name": "PayPal",
"type": "offline",
"hasRef": true,
"partial": true,
"description": "",
"online_type": "external",
"allow_refund": "offline"
},
{
"code": "chip_pin",
"name": "Chip & PIN",
"type": "offline",
"hasRef": true,
"partial": true,
"description": "Click Generate to get a reference order number. Then process the payment using your chip & PIN device.",
"online_type": "external",
"allow_refund": "offline",
"fee": 5,
"fee_type": "percentage"
},
{
"code": "bacs",
"name": "Direct bank transfer",
"type": "offline",
"hasRef": true,
"partial": true,
"description": "",
"online_type": "external",
"allow_refund": "offline"
},
{
"code": "cod",
"name": "Cash on delivery",
"type": "offline",
"hasRef": true,
"partial": true,
"description": "Pay with cash upon delivery.",
"online_type": "external",
"allow_refund": "offline"
},
{
"code": "op_credit",
"name": "POS Voucher",
"type": "voucher",
"hasRef": true,
"partial": true,
"description": "",
"online_type": "voucher",
"allow_refund": "online"
},
{
"code": "clover_terminal",
"name": "Clover Terminal",
"type": "terminal",
"hasRef": true,
"partial": false,
"description": "",
"online_type": "terminal",
"allow_refund": "no",
"offline_transaction": "yes",
"offline_order": "yes"
},
{
"code": "op_stripe_payment",
"name": "Stripe - Online Payment",
"type": "terminal",
"hasRef": true,
"partial": true,
"description": "",
"online_type": "terminal",
"allow_refund": "online"
},
{
"code": "op_credit_return",
"name": "Refund with Voucher",
"type": "terminal",
"hasRef": false,
"partial": false,
"description": "Generate Voucher when payment less than 0",
"online_type": "terminal",
"allow_refund": "no",
"offline_transaction": "no"
},
{
"code": "pending_payment",
"name": "Pending Payment",
"type": "online",
"hasRef": true,
"partial": false,
"description": "Pending Payment",
"online_type": "external",
"offline_transaction": "no",
"offline_order": "no"
},
{
"code": "terminal",
"type": "terminal",
"name": "Terminal POS",
"description": "Pay with Terminal POS",
"hasRef": 1,
"partial": true,
"partial_type": "multi_cards",
"online_type": "",
"status_url": ""
}
],
"cash_drawer_balance": "5622.75",
"balance": "5622.75",
"cashes": [],
"cash_drawers": [
{
"id": 232155,
"name": "POS Register Mode 145856",
"outlet_id": 0,
"outlet_name": "Default online store",
"address": "14789 Charmeran Ave<br/>San Jose, CA 95124"
},
{
"id": 69,
"name": "Default Register ( On default woocommerce)",
"outlet_id": 0,
"outlet_name": "Default online store",
"address": "14789 Charmeran Ave<br/>San Jose, CA 95124"
},
{
"id": 3565,
"name": "Register - Outlet 2",
"outlet_id": "2832",
"outlet_name": "Outlet 2",
"address": ""
},
{
"id": 1895,
"name": "Self Checkout",
"outlet_id": 0,
"outlet_name": "Default online store",
"address": "14789 Charmeran Ave<br/>San Jose, CA 95124"
},
{
"id": 659,
"name": "Customer mode",
"outlet_id": 0,
"outlet_name": "Default online store",
"address": "14789 Charmeran Ave<br/>San Jose, CA 95124"
},
{
"id": 327,
"name": "waiter mode",
"outlet_id": 0,
"outlet_name": "Default online store",
"address": "14789 Charmeran Ave<br/>San Jose, CA 95124"
},
{
"id": 326,
"name": "seller mode",
"outlet_id": 0,
"outlet_name": "Default online store",
"address": "14789 Charmeran Ave<br/>San Jose, CA 95124"
},
{
"id": 123,
"name": "Test",
"outlet_id": "122",
"outlet_name": "Custom outlet",
"address": ""
}
],
"price_included_tax": true,
"avatar": "https://secure.gravatar.com/avatar/dd2ea7fb8de5b785359341daa62a9511eef7551a94835cab8d18495e6952af4f?s=96&d=mm&r=g",
"location": "",
"client_time_offset": "-420",
"login_cashdrawer_id": 69,
"login_cashdrawer_mode": "cashier",
"login_warehouse_id": "0",
"default_display": "tiles",
"categories": [
{
"id": "16",
"name": "Clothing",
"image": "http://localhost/dev/openpos/wordpress/wp-content/uploads/2022/08/Screen-Shot-2022-08-22-at-09.50.53.png",
"description": "",
"parent_id": 0,
"child": [
{
"id": "19",
"name": "Accessories",
"image": "http://localhost/dev/openpos/wordpress/wp-content/plugins/woocommerce-openpos/assets/images/category_placehoder.png",
"description": "",
"parent_id": 16,
"child": []
},
{
"id": "17",
"name": "Tshirts",
"image": "http://localhost/dev/openpos/wordpress/wp-content/plugins/woocommerce-openpos/assets/images/category_placehoder.png",
"description": "",
"parent_id": 16,
"child": [
{
"id": "18",
"name": "Hoodies",
"image": "http://localhost/dev/openpos/wordpress/wp-content/plugins/woocommerce-openpos/assets/images/category_placehoder.png",
"description": "",
"parent_id": 17,
"child": []
}
]
}
]
},
{
"id": "20",
"name": "Music",
"image": "http://localhost/dev/openpos/wordpress/wp-content/plugins/woocommerce-openpos/assets/images/category_placehoder.png",
"description": "",
"parent_id": 0,
"child": []
},
{
"id": "21",
"name": "Decor",
"image": "http://localhost/dev/openpos/wordpress/wp-content/plugins/woocommerce-openpos/assets/images/category_placehoder.png",
"description": "",
"parent_id": 0,
"child": []
}
],
"currency_decimal": 2,
"time_frequency": 5000,
"product_sync": true,
"date_format": "dd/MM/yyyy",
"time_format": "h:mm a",
"takeaway_number": 690001,
"allow_receipt": "yes",
"logged_time_stamp": 1759462788,
"pos_report_template": "<html><head><style type=\"text/css\" media=\"print,screen\">#op-page-cut{page-break-after: always; }#invoice-POS { padding: 0.1in 0.1in 0.1in 0.1in;margin: 0 auto;background: #fff;width: 3in ;}@page{\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n margin-top: 0px;\r\n margin-bottom: 0px;\r\n}\r\nh1{\r\n font-size: 1.5em;\r\n color: #000;\r\n}\r\nh2{font-size: .9em;}\r\nh3{\r\n font-size: 1.2em;\r\n font-weight: 300;\r\n line-height: 2em;\r\n}\r\np{\r\n font-size: .7em;\r\n color: #000;\r\n line-height: 1.2em;\r\n}\r\n\r\n#top, #mid,#bot{\r\n border-bottom: 1px solid #000;\r\n}\r\n\r\n#top{\r\n min-height: 100px;\r\n text-align: center;\r\n}\r\n#mid{min-height: 80px;}\r\n#bot{ min-height: 50px;}\r\n\r\n#top .logo{\r\n\theight: 60px;\r\n\twidth: 60px;\r\n\tno-repeat;\r\n\tbackground-size: 60px 60px;\r\n}\r\n.clientlogo{\r\n float: left;\r\n\theight: 60px;\r\n\twidth: 60px;\r\n\tbackground-size: 60px 60px;\r\n border-radius: 50px;\r\n}\r\n.info{\r\n display: block;\r\n margin-left: 0;\r\n}\r\n.info p{\r\n margin: 0;\r\n padding: 0 2px;\r\n}\r\n.title{\r\n float: right;\r\n}\r\n.title p{text-align: right;}\r\ntable{\r\n width: 100%;\r\n border-collapse: collapse;\r\n}\r\n.tabletitle{\r\n font-size: .5em;\r\n}\r\n.items-table-label{\r\n border-bottom:solid 1px #000;\r\n}\r\n.service{border-bottom: 1px dotted #000;}\r\n.item{width: 24mm;}\r\n.itemtext{\r\n font-size: .5em;\r\n margin-bottom:0;\r\n display: inline-block;\r\n}\r\n.option-item{\r\n font-size: .5em;\r\n font-style: italic;\r\n display: block;\r\n color: #000;\r\n}\r\n#legalcopy{\r\n margin-top: 5mm;\r\n}</style></head><body style=\"margin:0;\"><div id=\"invoice-POS\" class=\"tempalte-type-report\"><div id=\"top\"> <div class=\"info\" style=\"text-align:center;\"> <h2 style=\"text-transform: uppercase;font-size: 14px;\">Register Summary</h2> <p style=\"font-size:12px;margin:2px 0;\">RegisterID <b><%-register_id %></b></p> <p style=\"font-size:12px;margin:2px 0;\">Cashier <b><%- cashier_user_name %></b></p> <p style=\"font-size:12px;margin:2px 0;\">Store address here </p> <p style=\"font-size:12px;margin:2px 0;\"> <%= new Date(login_time).getDate() %>/<%= new Date(login_time).getMonth() + 1 %>/<%= new Date(login_time).getFullYear() %> at <%= new Date(login_time).getHours() %>:<%= new Date(login_time).getMinutes() %> - <%= new Date(logout_time).getDate() %>/<%= new Date(logout_time).getMonth() + 1 %>/<%= new Date(logout_time).getFullYear() %> at <%= new Date(logout_time).getHours() %>:<%= new Date(logout_time).getMinutes() %> </p> <p>Print time: <% var date = new Date(); const cmonthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\" ]; %> <%-date.getDate() %>/<%- cmonthNames[date.getMonth()] %>/<%-date.getFullYear() %> at <%-date.getHours() %>:<%-date.getMinutes() %> </p> </div> </div> <div style=\"padding: 5px;\"> <div style=\"border: solid 2px #000;border-radius: 10px;font-weight:bold;text-align:center;text-transform: uppercase;\"> <p>Total Sales</p> <p><%- sale_total_currency_formatted %></p> </div> </div> <p style=\"text-align: center; font-weight: bold; font-size: 12px; text-transform: uppercase;\">Summary</p> <table border=\"0\" style=\"width:100%;\"> <% sale_payments.forEach(function(payment){ %> <tr><th colspan=\"2\" style=\"text-align:center;border-top:solid 1px #000;text-transform: uppercase;font-size: 12px;\"> <%- payment.payment_name %><th></tr> <tr><td style=\"text-transform: uppercase; font-size: 12px; font-weight: 200; text-align:right; padding: 2px; width: 50%;\">Sales</td><td><b><%- payment.total_currency_formatted %></b> </td> </tr> <tr><td style=\"text-transform: uppercase; font-size: 12px; font-weight: 200; text-align:right; padding: 2px; width: 50%;\">REFUND</td><td><b><%- payment.refund_total_currency_formatted %></b> </td> </tr> <tr><td style=\"text-transform: uppercase; font-size: 12px; font-weight: 200; text-align:right; padding: 2px; width: 50%;\">NET</td><td><b><%- payment.base_total_currency_formatted %></b> </td> </tr> <% }); %> </table> <p style=\"text-align: center; font-weight: bold; font-size: 12px; text-transform: uppercase;margin-top:10px;border-top:solid 1px #000;padding:5px;\">TAX</p> <table border=\"0\" style=\"width:100%;\"> <% taxes.forEach(function(tax){ %> <tr> <th style=\" text-transform: uppercase; font-size: 12px; font-weight: 200; text-align:right; padding: 2px; width: 50%; \"><%- tax.label %></th> <td style=\"font-weight: bold;\"><%- tax.total_currency_formatted %></td> </tr> <% }); %> </table> <p style=\"text-align: center; font-weight: bold; font-size: 12px; text-transform: uppercase;margin-top:10px;border-top:solid 1px #000;padding:5px;\">Activity</p> <table border=\"0\" style=\"width:100%;border-top:solid 1px #000;\"> <tr> <th style=\" text-transform: uppercase; font-size: 12px; font-weight: 200; text-align:right; padding: 2px; width: 50%; \">Open Shift</th> <td style=\"font-weight: bold;\"><%- open_balance_currency_formatted %></td> </tr> <tr> <td colspan=\"2\" style=\"font-size:12px;\"> <%= new Date(login_time).getDate() %>/<%= new Date(login_time).getMonth() + 1 %>/<%= new Date(login_time).getFullYear() %> at <%= new Date(login_time).getHours() %>:<%= new Date(login_time).getMinutes() %> </td> </tr> </table> <table border=\"0\" style=\"width:100%;border-top:solid 1px #000;\"> <tr> <th style=\" text-transform: uppercase; font-size: 12px; font-weight: 200; text-align:right; padding: 2px; width: 50%; \">Close Shift</th> <td style=\"font-weight: bold;\"><%- close_balance_currency_formatted %></td> </tr> <tr> <td colspan=\"2\" style=\"font-size:12px;\"><%= new Date(logout_time).getDate() %>/<%= new Date(logout_time).getMonth() + 1 %>/<%= new Date(logout_time).getFullYear() %> at <%= new Date(logout_time).getHours() %>:<%= new Date(logout_time).getMinutes() %> </td> </tr> </table> <table border=\"0\" style=\"width:100%;border-top:solid 1px #000;\"> <tr> <th style=\" text-transform: uppercase; font-size: 12px; font-weight: 200; text-align:right; padding: 2px; width: 50%; \">Adjustment</th> <td style=\"font-weight: bold;padding-bottom: 10px;\"><%- custom_transaction_total_currency_formatted %></td> </tr> </table> <% if(typeof custom_transactions != \"undefined\" ){ %> <p style=\"text-align: center; font-weight: bold; font-size: 12px; text-transform: uppercase;margin-top:10px;border-top:solid 1px #000;padding:5px;\">Custom Transactions</p> <% custom_transactions.forEach(function(transaction){ %> <table border=\"0\" style=\"width:100%;border-top:dotted 1px #000;\"> <tr> <th style=\" text-transform: uppercase; font-size: 12px; font-weight: 200; text-align:right; padding: 2px; width: 50%; \"><%- transaction.ref %></th> <td style=\"font-weight: bold;\"><%- transaction.in_amount.toFixed(2) %></td> </tr> <tr> <td style=\"font-size:12px;\"> <%= new Date(transaction.created_at_time).getDate() %>/<%= new Date(transaction.created_at_time).getMonth() + 1 %>/<%= new Date(transaction.created_at_time).getFullYear() %> at <%= new Date(transaction.created_at_time).getHours() %>:<%= new Date(transaction.created_at_time).getMinutes() %> </td> <td style=\"font-weight: bold; text-decoration: line-through;\"><%- transaction.out_amount.toFixed(2) %></td> </tr> </table> <% }) %> <% } %> <p style=\"text-align: center; font-weight: bold; font-size: 12px; text-transform: uppercase;margin-top:10px;border-top:solid 1px #000;padding:5px;\">Product Sold</p> <table border=\"0\" style=\"width:100%;\"> <tr> <th>Product</th> <th>QTY</th> <th>Total</th> </tr> <% var product_keys = Object.keys(products); %> <% product_keys.forEach(function(key){ %> <% var product = products[key]; %> <tr style=\"border-top: dotted 1px #000; \"> <td><%= product.name %><br/><%= product.barcode %></td> <td style=\"text-align:center; \"><%= product.qty %></td> <td style=\"text-align:center; \"><%= product.total_incl_tax_sale_currency_formatted %></td> </tr> <% }) %> </table> <% var total_sold_qty = 0; %> <% var product_keys = Object.keys(products); %> <% product_keys.forEach(function(key){ %> <% var product = products[key]; %> <% total_sold_qty+= product.qty %> <% }) %> <p>Total qty sold: <%= total_sold_qty %></p></div><p id=\"op-page-cut\"> </p></body></html>"
},
"database_version": "1759330404"
}