<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.logistack.co.uk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lee+Miller</id>
	<title>Logistack - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.logistack.co.uk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lee+Miller"/>
	<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php/Special:Contributions/Lee_Miller"/>
	<updated>2026-05-02T08:39:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Requirements&amp;diff=203</id>
		<title>Logistack Requirements</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Requirements&amp;diff=203"/>
		<updated>2025-10-16T16:03:08Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LogiStack Pro — Server Requirements =&lt;br /&gt;
&lt;br /&gt;
This page lists supported environments and sizing guidance for running LogiStack Pro (web app, customer portal, admin).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Don&#039;t be cheap with hosting!!!&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Hostinger (who I use and are brilliant), provide full VPS server hosting from between £120 (4 CPU cores) and £228 (8 CPU cores), use my referral code for 20% off and a free .co.uk domain name - subscribe using [https://hostinger.com?REFERRALCODE=U0JLEECHR9VC this link].&lt;br /&gt;
&lt;br /&gt;
I also provide fully managed hosting, it&#039;s more than Hostinger, but you do nothing, I manage the hosting on your behalf, install Logistack, create the domain name, again a free .co.uk and create domain related email addresses e.g. &amp;lt;nowiki&amp;gt;info@your-domain.co.uk&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;jim@your-domain.co.uk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
My server has 16 CPU Cores, and enough space for 1000s of websites, though I&#039;m not planning to host more than 20.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
* Application stack: PHP + MySQL or MariaDB on Apache or Nginx&lt;br /&gt;
* Operating system: Linux preferred (Ubuntu/Debian/Alma/Rocky); Windows Server possible&lt;br /&gt;
* Access: HTTPS required; SMTP needed for outbound mail&lt;br /&gt;
* Storage: Local disk for POD images and invoice PDFs; delivery videos are hosted externally and linked&lt;br /&gt;
&lt;br /&gt;
== Minimum (single site) ==&lt;br /&gt;
* Web server: Apache 2.4+ or Nginx 1.18+&lt;br /&gt;
* PHP: 8.1+ (8.2/8.3 recommended)&lt;br /&gt;
* Database: MySQL 8.0+ or MariaDB 10.5+&lt;br /&gt;
* CPU and RAM: 1 vCPU, 1–2 GB RAM&lt;br /&gt;
* Disk: 10–20 GB&lt;br /&gt;
* TLS: Valid HTTPS certificate&lt;br /&gt;
* Mail: Authenticated SMTP account&lt;br /&gt;
&lt;br /&gt;
== Recommended (production) ==&lt;br /&gt;
* OS: Ubuntu LTS (22.04 or 24.04) or equivalent&lt;br /&gt;
* Web server: Nginx with PHP-FPM, or Apache 2.4 with PHP-FPM&lt;br /&gt;
* PHP: 8.2+ with OPcache enabled&lt;br /&gt;
* Database: MySQL 8.0.34+ or MariaDB 10.6+ (local or managed)&lt;br /&gt;
* CPU and RAM: 2–4 vCPU, 4–8 GB RAM (scale with drivers and customers)&lt;br /&gt;
* Disk: 50–100 GB SSD (separate volume for /uploads)&lt;br /&gt;
* Backups: Daily database dumps and file snapshots (retain 30 days)&lt;br /&gt;
* Monitoring: Uptime, disk usage, and error log alerts&lt;br /&gt;
&lt;br /&gt;
== API Keys ==&lt;br /&gt;
* OpenAI API Key&lt;br /&gt;
* Google Maps API key&lt;br /&gt;
&lt;br /&gt;
== Required PHP extensions ==&lt;br /&gt;
* pdo_mysql&lt;br /&gt;
* mbstring&lt;br /&gt;
* intl&lt;br /&gt;
* openssl&lt;br /&gt;
* curl&lt;br /&gt;
* json&lt;br /&gt;
* fileinfo&lt;br /&gt;
* zip&lt;br /&gt;
* gd or imagick&lt;br /&gt;
* opcache&lt;br /&gt;
&lt;br /&gt;
== Suggested php.ini settings ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
memory_limit = 512M&lt;br /&gt;
upload_max_filesize = 256M&lt;br /&gt;
post_max_size = 32M&lt;br /&gt;
max_execution_time = 300&lt;br /&gt;
max_input_time = 300&lt;br /&gt;
expose_php = Off&lt;br /&gt;
date.timezone = Europe/London&lt;br /&gt;
session.cookie_httponly = 1&lt;br /&gt;
session.cookie_secure = 1&lt;br /&gt;
opcache.enable = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Database settings ==&lt;br /&gt;
* Engine: MySQL 8.0+ or MariaDB 10.5+&lt;br /&gt;
* Charset and collation: utf8mb4 / utf8mb4_unicode_ci&lt;br /&gt;
* Grant a least-privilege application user to the app database.&lt;br /&gt;
&lt;br /&gt;
== Email (SMTP) ==&lt;br /&gt;
* Required for sending invoice PDFs and notifications.&lt;br /&gt;
* Needs host, port, username, password, and TLS (typically port 587 or 465).&lt;br /&gt;
&lt;br /&gt;
== HTTPS and security ==&lt;br /&gt;
* Enforce HTTPS (TLS 1.2+).&lt;br /&gt;
* Keep OS, web server, PHP, database, and extensions up to date.&lt;br /&gt;
&lt;br /&gt;
== Cron jobs (recommended) ==&lt;br /&gt;
* Nightly database backup&lt;br /&gt;
* Log rotation&lt;br /&gt;
* Optional: mail retry queue and temporary file cleanup&lt;br /&gt;
&lt;br /&gt;
=== Example crontab line (02:15) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
15 2 * * * /usr/bin/mysqldump -ulogistack -p&#039;***&#039; logistack | gzip &amp;gt; /backups/logistack-$(date +\%F).sql.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firewall and ports ==&lt;br /&gt;
* Inbound: 80 (HTTP) and 443 (HTTPS)&lt;br /&gt;
* Outbound: 443 for SMTP/API endpoints and video embeds&lt;br /&gt;
* Restrict SSH (22) to admin IPs only&lt;br /&gt;
&lt;br /&gt;
== Sizing notes ==&lt;br /&gt;
* POD images: approx. 0.3–1.5 MB each&lt;br /&gt;
* Invoice PDFs: approx. 30–300 KB each&lt;br /&gt;
* Start with 50–100 GB for /uploads; review quarterly&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* Blank page or 500: check web server and PHP error logs; confirm required PHP extensions.&lt;br /&gt;
* Upload failures: increase upload_max_filesize and post_max_size; verify folder permissions.&lt;br /&gt;
* Emails not sending: verify SMTP credentials and connectivity; try port 587 with TLS.&lt;br /&gt;
* Thumbnails not generating: confirm gd&lt;br /&gt;
&lt;br /&gt;
See [[Troubleshooting]] for more detailed info&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Requirements&amp;diff=202</id>
		<title>Logistack Requirements</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Requirements&amp;diff=202"/>
		<updated>2025-10-16T16:01:28Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Suggested php.ini settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= LogiStack Pro — Server Requirements =&lt;br /&gt;
&lt;br /&gt;
This page lists supported environments and sizing guidance for running LogiStack Pro (web app, customer portal, admin).&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Don&#039;t be cheap with hosting!!!&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Hostinger (who I use and are brilliant), provide full VPS server hosting from between £120 (4 CPU cores) and £228 (8 CPU cores), use my referral code for 20% off and a free .co.uk domain name - subscribe using [https://hostinger.com?REFERRALCODE=U0JLEECHR9VC this link].&lt;br /&gt;
&lt;br /&gt;
I also provide fully managed hosting, it&#039;s more than Hostinger, but you do nothing, I manage the hosting on your behalf, install Logistack, create the domain name, again a free .co.uk and create domain related email addresses e.g. &amp;lt;nowiki&amp;gt;info@your-domain.co.uk&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;jim@your-domain.co.uk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
My server has 16 CPU Cores, and enough space for 1000s of websites, though I&#039;m not planning to host more than 20.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
* Application stack: PHP + MySQL or MariaDB on Apache or Nginx&lt;br /&gt;
* Operating system: Linux preferred (Ubuntu/Debian/Alma/Rocky); Windows Server possible&lt;br /&gt;
* Access: HTTPS required; SMTP needed for outbound mail&lt;br /&gt;
* Storage: Local disk for POD images and invoice PDFs; delivery videos are hosted externally and linked&lt;br /&gt;
&lt;br /&gt;
== Minimum (single site) ==&lt;br /&gt;
* Web server: Apache 2.4+ or Nginx 1.18+&lt;br /&gt;
* PHP: 8.1+ (8.2/8.3 recommended)&lt;br /&gt;
* Database: MySQL 8.0+ or MariaDB 10.5+&lt;br /&gt;
* CPU and RAM: 1 vCPU, 1–2 GB RAM&lt;br /&gt;
* Disk: 10–20 GB&lt;br /&gt;
* TLS: Valid HTTPS certificate&lt;br /&gt;
* Mail: Authenticated SMTP account&lt;br /&gt;
&lt;br /&gt;
== Recommended (production) ==&lt;br /&gt;
* OS: Ubuntu LTS (22.04 or 24.04) or equivalent&lt;br /&gt;
* Web server: Nginx with PHP-FPM, or Apache 2.4 with PHP-FPM&lt;br /&gt;
* PHP: 8.2+ with OPcache enabled&lt;br /&gt;
* Database: MySQL 8.0.34+ or MariaDB 10.6+ (local or managed)&lt;br /&gt;
* CPU and RAM: 2–4 vCPU, 4–8 GB RAM (scale with drivers and customers)&lt;br /&gt;
* Disk: 50–100 GB SSD (separate volume for /uploads)&lt;br /&gt;
* Backups: Daily database dumps and file snapshots (retain 30 days)&lt;br /&gt;
* Monitoring: Uptime, disk usage, and error log alerts&lt;br /&gt;
&lt;br /&gt;
== API Keys ==&lt;br /&gt;
* OpenAI API Key&lt;br /&gt;
* Google Maps API key&lt;br /&gt;
&lt;br /&gt;
== Required PHP extensions ==&lt;br /&gt;
* pdo_mysql&lt;br /&gt;
* mbstring&lt;br /&gt;
* intl&lt;br /&gt;
* openssl&lt;br /&gt;
* curl&lt;br /&gt;
* json&lt;br /&gt;
* fileinfo&lt;br /&gt;
* zip&lt;br /&gt;
* gd or imagick&lt;br /&gt;
* opcache&lt;br /&gt;
&lt;br /&gt;
== Suggested php.ini settings ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
memory_limit = 512M&lt;br /&gt;
upload_max_filesize = 256M&lt;br /&gt;
post_max_size = 32M&lt;br /&gt;
max_execution_time = 300&lt;br /&gt;
max_input_time = 300&lt;br /&gt;
expose_php = Off&lt;br /&gt;
date.timezone = Europe/London&lt;br /&gt;
session.cookie_httponly = 1&lt;br /&gt;
session.cookie_secure = 1&lt;br /&gt;
opcache.enable = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Database settings ==&lt;br /&gt;
* Engine: MySQL 8.0+ or MariaDB 10.5+&lt;br /&gt;
* Charset and collation: utf8mb4 / utf8mb4_unicode_ci&lt;br /&gt;
* Grant a least-privilege application user to the app database.&lt;br /&gt;
&lt;br /&gt;
== Email (SMTP) ==&lt;br /&gt;
* Required for sending invoice PDFs and notifications.&lt;br /&gt;
* Needs host, port, username, password, and TLS (typically port 587 or 465).&lt;br /&gt;
&lt;br /&gt;
== HTTPS and security ==&lt;br /&gt;
* Enforce HTTPS (TLS 1.2+).&lt;br /&gt;
* Keep OS, web server, PHP, database, and extensions up to date.&lt;br /&gt;
&lt;br /&gt;
== Cron jobs (recommended) ==&lt;br /&gt;
* Nightly database backup&lt;br /&gt;
* Log rotation&lt;br /&gt;
* Optional: mail retry queue and temporary file cleanup&lt;br /&gt;
&lt;br /&gt;
=== Example crontab line (02:15) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
15 2 * * * /usr/bin/mysqldump -ulogistack -p&#039;***&#039; logistack | gzip &amp;gt; /backups/logistack-$(date +\%F).sql.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firewall and ports ==&lt;br /&gt;
* Inbound: 80 (HTTP) and 443 (HTTPS)&lt;br /&gt;
* Outbound: 443 for SMTP/API endpoints and video embeds&lt;br /&gt;
* Restrict SSH (22) to admin IPs only&lt;br /&gt;
&lt;br /&gt;
== Sizing notes ==&lt;br /&gt;
* POD images: approx. 0.3–1.5 MB each&lt;br /&gt;
* Invoice PDFs: approx. 30–300 KB each&lt;br /&gt;
* Start with 50–100 GB for /uploads; review quarterly&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* Blank page or 500: check web server and PHP error logs; confirm required PHP extensions.&lt;br /&gt;
* Upload failures: increase upload_max_filesize and post_max_size; verify folder permissions.&lt;br /&gt;
* Emails not sending: verify SMTP credentials and connectivity; try port 587 with TLS.&lt;br /&gt;
* Thumbnails not generating: confirm gd&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Updates_Completed&amp;diff=201</id>
		<title>Updates Completed</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Updates_Completed&amp;diff=201"/>
		<updated>2025-10-15T03:58:33Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: Created page with &amp;quot;= Page Creation Module =  Ability to Create Pages.  === Timeline &amp;amp; Milestones ===  A relatively simple customization, expected before the official release.  * &amp;lt;s&amp;gt;&amp;#039;&amp;#039;&amp;#039;15th Oct 2025&amp;#039;&amp;#039;&amp;#039;: Creation, testing and release&amp;lt;/s&amp;gt; &amp;lt;i class=&amp;quot;bi bi-check2 text-success fw-bold&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Done!&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Page Creation Module =&lt;br /&gt;
&lt;br /&gt;
Ability to [[Page_Builder|Create Pages]].&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
A relatively simple customization, expected before the official release.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;&#039;&#039;&#039;15th Oct 2025&#039;&#039;&#039;: Creation, testing and release&amp;lt;/s&amp;gt; &amp;lt;i class=&amp;quot;bi bi-check2 text-success fw-bold&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Done!&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=200</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=200"/>
		<updated>2025-10-15T03:58:21Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Mobile Apps Roadmap (Android &amp;amp; iOS) =&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
Deliver first-class mobile apps that enable fast job updates, proof-of-delivery (POD) capture, and secure customer self-service. The aim is to eventually have 2 apps for each OS, one for you and one for your customer.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Driver app&#039;&#039;&#039; - GPS location, upload PODs through camera / image save.&lt;br /&gt;
* &#039;&#039;&#039;Customer app&#039;&#039;&#039; - View driver location, download POD images, book services. &lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct–Nov 2025&#039;&#039;&#039;: Android app creation and testing.&lt;br /&gt;
* &#039;&#039;&#039;Jan - Mar 2026&#039;&#039;&#039;: IOS app creation and testing.&lt;br /&gt;
* Aiming for a release date of June 2026.&lt;br /&gt;
&lt;br /&gt;
= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
Add a tick box for additional services required, e.g. driver&#039;s mate, packing, larger vehicle.&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Suggestions =&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to make suggestions on what we should add or modify, create an issue at the [https://github.com/venture-logistics/logistack/issues support community].&lt;br /&gt;
&lt;br /&gt;
= Completed =&lt;br /&gt;
&lt;br /&gt;
See the list of [[Updates Completed]].&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=199</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=199"/>
		<updated>2025-10-15T03:52:07Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Timeline &amp;amp; Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Page Creation Module =&lt;br /&gt;
&lt;br /&gt;
Ability to [[Page_Builder|Create Pages]].&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
A relatively simple customization, expected before the official release.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;&#039;&#039;&#039;15th Oct 2025&#039;&#039;&#039;: Creation, testing and release&amp;lt;/s&amp;gt; &amp;lt;i class=&amp;quot;bi bi-check2 text-success fw-bold&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Done!&lt;br /&gt;
&lt;br /&gt;
= Mobile Apps Roadmap (Android &amp;amp; iOS) =&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
Deliver first-class mobile apps that enable fast job updates, proof-of-delivery (POD) capture, and secure customer self-service. The aim is to eventually have 2 apps for each OS, one for you and one for your customer.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Driver app&#039;&#039;&#039; - GPS location, upload PODs through camera / image save.&lt;br /&gt;
* &#039;&#039;&#039;Customer app&#039;&#039;&#039; - View driver location, download POD images, book services. &lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct–Nov 2025&#039;&#039;&#039;: Android app creation and testing.&lt;br /&gt;
* &#039;&#039;&#039;Jan - Mar 2026&#039;&#039;&#039;: IOS app creation and testing.&lt;br /&gt;
* Aiming for a release date of June 2026.&lt;br /&gt;
&lt;br /&gt;
= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
Add a tick box for additional services required, e.g. driver&#039;s mate, packing, larger vehicle.&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Suggestions =&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to make suggestions on what we should add or modify, create an issue at the [https://github.com/venture-logistics/logistack/issues support community].&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=198</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=198"/>
		<updated>2025-10-15T03:51:42Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Timeline &amp;amp; Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Page Creation Module =&lt;br /&gt;
&lt;br /&gt;
Ability to [[Page_Builder|Create Pages]].&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
A relatively simple customization, expected before the official release.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;&#039;&#039;&#039;15th Oct 2025&#039;&#039;&#039;: Creation, testing and release&amp;lt;/s&amp;gt; &amp;lt;i class=&amp;quot;bi bi-check2 text-success&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Done!&lt;br /&gt;
&lt;br /&gt;
= Mobile Apps Roadmap (Android &amp;amp; iOS) =&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
Deliver first-class mobile apps that enable fast job updates, proof-of-delivery (POD) capture, and secure customer self-service. The aim is to eventually have 2 apps for each OS, one for you and one for your customer.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Driver app&#039;&#039;&#039; - GPS location, upload PODs through camera / image save.&lt;br /&gt;
* &#039;&#039;&#039;Customer app&#039;&#039;&#039; - View driver location, download POD images, book services. &lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct–Nov 2025&#039;&#039;&#039;: Android app creation and testing.&lt;br /&gt;
* &#039;&#039;&#039;Jan - Mar 2026&#039;&#039;&#039;: IOS app creation and testing.&lt;br /&gt;
* Aiming for a release date of June 2026.&lt;br /&gt;
&lt;br /&gt;
= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
Add a tick box for additional services required, e.g. driver&#039;s mate, packing, larger vehicle.&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Suggestions =&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to make suggestions on what we should add or modify, create an issue at the [https://github.com/venture-logistics/logistack/issues support community].&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=197</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=197"/>
		<updated>2025-10-15T03:48:39Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Timeline &amp;amp; Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Page Creation Module =&lt;br /&gt;
&lt;br /&gt;
Ability to [[Page_Builder|Create Pages]].&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
A relatively simple customization, expected before the official release.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;&#039;&#039;&#039;15th Oct 2025&#039;&#039;&#039;: Creation, testing and release&amp;lt;/s&amp;gt; &amp;lt;i class=&amp;quot;bi bi-check-square text-success&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Done&lt;br /&gt;
&lt;br /&gt;
= Mobile Apps Roadmap (Android &amp;amp; iOS) =&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
Deliver first-class mobile apps that enable fast job updates, proof-of-delivery (POD) capture, and secure customer self-service. The aim is to eventually have 2 apps for each OS, one for you and one for your customer.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Driver app&#039;&#039;&#039; - GPS location, upload PODs through camera / image save.&lt;br /&gt;
* &#039;&#039;&#039;Customer app&#039;&#039;&#039; - View driver location, download POD images, book services. &lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct–Nov 2025&#039;&#039;&#039;: Android app creation and testing.&lt;br /&gt;
* &#039;&#039;&#039;Jan - Mar 2026&#039;&#039;&#039;: IOS app creation and testing.&lt;br /&gt;
* Aiming for a release date of June 2026.&lt;br /&gt;
&lt;br /&gt;
= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
Add a tick box for additional services required, e.g. driver&#039;s mate, packing, larger vehicle.&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Suggestions =&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to make suggestions on what we should add or modify, create an issue at the [https://github.com/venture-logistics/logistack/issues support community].&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=196</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=196"/>
		<updated>2025-10-15T03:48:20Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Page Creation Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Page Creation Module =&lt;br /&gt;
&lt;br /&gt;
Ability to [[Page_Builder|Create Pages]].&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
A relatively simple customization, expected before the official release.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;&#039;&#039;&#039;15th Oct 2025&#039;&#039;&#039;: Creation, testing and release&amp;lt;/s&amp;gt; &amp;lt;i class=&amp;quot;bi bi-check-square text-success&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mobile Apps Roadmap (Android &amp;amp; iOS) =&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
Deliver first-class mobile apps that enable fast job updates, proof-of-delivery (POD) capture, and secure customer self-service. The aim is to eventually have 2 apps for each OS, one for you and one for your customer.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Driver app&#039;&#039;&#039; - GPS location, upload PODs through camera / image save.&lt;br /&gt;
* &#039;&#039;&#039;Customer app&#039;&#039;&#039; - View driver location, download POD images, book services. &lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct–Nov 2025&#039;&#039;&#039;: Android app creation and testing.&lt;br /&gt;
* &#039;&#039;&#039;Jan - Mar 2026&#039;&#039;&#039;: IOS app creation and testing.&lt;br /&gt;
* Aiming for a release date of June 2026.&lt;br /&gt;
&lt;br /&gt;
= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
Add a tick box for additional services required, e.g. driver&#039;s mate, packing, larger vehicle.&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Suggestions =&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to make suggestions on what we should add or modify, create an issue at the [https://github.com/venture-logistics/logistack/issues support community].&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=195</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=195"/>
		<updated>2025-10-15T03:47:16Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Timeline &amp;amp; Milestones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Page Creation Module =&lt;br /&gt;
&lt;br /&gt;
Ability to [[Create Pages]].&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
A relatively simple customization, expected before the official release.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;&#039;&#039;&#039;15th Oct 2025&#039;&#039;&#039;: Creation, testing and release&amp;lt;/s&amp;gt; &amp;lt;i class=&amp;quot;bi bi-check-square text-success&amp;quot;&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mobile Apps Roadmap (Android &amp;amp; iOS) =&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
Deliver first-class mobile apps that enable fast job updates, proof-of-delivery (POD) capture, and secure customer self-service. The aim is to eventually have 2 apps for each OS, one for you and one for your customer.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Driver app&#039;&#039;&#039; - GPS location, upload PODs through camera / image save.&lt;br /&gt;
* &#039;&#039;&#039;Customer app&#039;&#039;&#039; - View driver location, download POD images, book services. &lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct–Nov 2025&#039;&#039;&#039;: Android app creation and testing.&lt;br /&gt;
* &#039;&#039;&#039;Jan - Mar 2026&#039;&#039;&#039;: IOS app creation and testing.&lt;br /&gt;
* Aiming for a release date of June 2026.&lt;br /&gt;
&lt;br /&gt;
= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
Add a tick box for additional services required, e.g. driver&#039;s mate, packing, larger vehicle.&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Suggestions =&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to make suggestions on what we should add or modify, create an issue at the [https://github.com/venture-logistics/logistack/issues support community].&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=194</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=194"/>
		<updated>2025-10-15T03:45:47Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Page Creation Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Page Creation Module =&lt;br /&gt;
&lt;br /&gt;
Ability to [[Create Pages]].&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
A relatively simple customization, expected before the official release.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct 2025&#039;&#039;&#039;: Creation, testing and release&lt;br /&gt;
&lt;br /&gt;
= Mobile Apps Roadmap (Android &amp;amp; iOS) =&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
Deliver first-class mobile apps that enable fast job updates, proof-of-delivery (POD) capture, and secure customer self-service. The aim is to eventually have 2 apps for each OS, one for you and one for your customer.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Driver app&#039;&#039;&#039; - GPS location, upload PODs through camera / image save.&lt;br /&gt;
* &#039;&#039;&#039;Customer app&#039;&#039;&#039; - View driver location, download POD images, book services. &lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct–Nov 2025&#039;&#039;&#039;: Android app creation and testing.&lt;br /&gt;
* &#039;&#039;&#039;Jan - Mar 2026&#039;&#039;&#039;: IOS app creation and testing.&lt;br /&gt;
* Aiming for a release date of June 2026.&lt;br /&gt;
&lt;br /&gt;
= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
Add a tick box for additional services required, e.g. driver&#039;s mate, packing, larger vehicle.&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Suggestions =&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to make suggestions on what we should add or modify, create an issue at the [https://github.com/venture-logistics/logistack/issues support community].&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=193</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=193"/>
		<updated>2025-10-15T03:44:58Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&amp;amp;display=swap&#039;);&lt;br /&gt;
@import url(&#039;https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css&#039;);&lt;br /&gt;
&lt;br /&gt;
html { font-size: 18px!important; }&lt;br /&gt;
&lt;br /&gt;
body { &lt;br /&gt;
font-family: &amp;quot;Comfortaa&amp;quot;, cursive; &lt;br /&gt;
  line-height: 1.6;&lt;br /&gt;
  color: #111;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings (classic fixed sizes) */&lt;br /&gt;
h1 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 32px;   /* ~2x body */&lt;br /&gt;
  line-height: 1.2;&lt;br /&gt;
  margin: 0 0 12px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h2 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 28px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 24px 0 8px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h3 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
  margin: 20px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h4 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 20px;&lt;br /&gt;
  line-height: 1.35;&lt;br /&gt;
  margin: 16px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h5 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 18px;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  margin: 14px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h6 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 16px;   /* same as body */&lt;br /&gt;
  line-height: 1.45;&lt;br /&gt;
  margin: 12px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
code, pre {&lt;br /&gt;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
p { margin: 0 0 0.9em 0;}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-icon img,&lt;br /&gt;
.mw-logo-icon svg {&lt;br /&gt;
  width: 250px;&lt;br /&gt;
  height: 120px;&lt;br /&gt;
  object-fit: contain;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-wordmark,&lt;br /&gt;
.mw-logo-tagline {&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.skin-vector-2022 .mw-logo-wordmark img {&lt;br /&gt;
  height: 32px;   /* adjust to taste */&lt;br /&gt;
  width: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fw-bold { font-weight: 700; }&lt;br /&gt;
.text-danger { color: #a6192e; }&lt;br /&gt;
.text-success { color: #00FF00; }&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=192</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Roadmap&amp;diff=192"/>
		<updated>2025-10-15T03:36:55Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Quote Calculator Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Page Creation Module =&lt;br /&gt;
&lt;br /&gt;
Ability to [[Create Pages]] and [[Edit Sidebar|modify the sidebar menu]].&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
A relatively simple customization, expected before the official release.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct 2025&#039;&#039;&#039;: Creation, testing and release&lt;br /&gt;
&lt;br /&gt;
= Mobile Apps Roadmap (Android &amp;amp; iOS) =&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
Deliver first-class mobile apps that enable fast job updates, proof-of-delivery (POD) capture, and secure customer self-service. The aim is to eventually have 2 apps for each OS, one for you and one for your customer.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Driver app&#039;&#039;&#039; - GPS location, upload PODs through camera / image save.&lt;br /&gt;
* &#039;&#039;&#039;Customer app&#039;&#039;&#039; - View driver location, download POD images, book services. &lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Oct–Nov 2025&#039;&#039;&#039;: Android app creation and testing.&lt;br /&gt;
* &#039;&#039;&#039;Jan - Mar 2026&#039;&#039;&#039;: IOS app creation and testing.&lt;br /&gt;
* Aiming for a release date of June 2026.&lt;br /&gt;
&lt;br /&gt;
= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
Add a tick box for additional services required, e.g. driver&#039;s mate, packing, larger vehicle.&lt;br /&gt;
&lt;br /&gt;
=== Timeline &amp;amp; Milestones ===&lt;br /&gt;
&lt;br /&gt;
TBA&lt;br /&gt;
&lt;br /&gt;
= Suggestions =&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to make suggestions on what we should add or modify, create an issue at the [https://github.com/venture-logistics/logistack/issues support community].&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Change_management&amp;diff=191</id>
		<title>Change management</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Change_management&amp;diff=191"/>
		<updated>2025-10-15T03:28:56Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To protect my software, updates are managed manually, the code isn&#039;t stored on any external sources and I provide updates by a .zip file.&lt;br /&gt;
&lt;br /&gt;
Updates happen by email, there&#039;ll be some explanatory text about the update and an attachment.&lt;br /&gt;
&lt;br /&gt;
Always read the accompanying explanatory text.&lt;br /&gt;
&lt;br /&gt;
To update your codebase, unpack the zip file, and upload the entire contents using Update --&amp;gt; Update from the sidebar menu - use the &amp;quot;Upload PHP File&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
Upload each file one at a time - refreshing pages will install the update immediately.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Security&amp;diff=190</id>
		<title>Logistack Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Security&amp;diff=190"/>
		<updated>2025-10-14T19:30:28Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
95% of the pages in Logistack can only be seen by Admins and Superusers.&lt;br /&gt;
&lt;br /&gt;
Beyond that, all data is protected inside a MySQL database.&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
* [https://securityheaders.com/?q=pro.logistack.co.uk&amp;amp;followRedirects=on Security Header] - A+&lt;br /&gt;
* [https://www.ssllabs.com/ssltest/analyze.html?d=pro.logistack.co.uk SSL Labs] - A A A A&lt;br /&gt;
* [https://developer.mozilla.org/en-US/observatory/analyze?host=pro.logistack.co.uk Mozilla HTTP Observatory] - A+&lt;br /&gt;
&lt;br /&gt;
== Extra Protection ==&lt;br /&gt;
&lt;br /&gt;
Most protected pages are set to display errors, which under ordinary circumstances would be asking for trouble! However, the way I&#039;ve set things up, to make providing support easier, is to use redirects, let me explain ...&lt;br /&gt;
&lt;br /&gt;
This is what a normal PHP error looks like;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Parse error: syntax error, unexpected &#039;}&#039;, expecting &#039;)&#039; in /var/www/app.php on line 7&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The issue is that when this displays publically, it provides an &amp;quot;in.&amp;quot; Showing &amp;lt;code&amp;gt;/var/www/app.php&amp;lt;/code&amp;gt; (or any full server path) to the public is classic information disclosure. On its own, it’s not a hack, but it materially helps attackers.&lt;br /&gt;
&lt;br /&gt;
With Logistack, when an error like this occurs, a normal user (non-admin), is redirected to a page that says, &amp;quot;An error occurred please inform admin.&amp;quot; And when admin visit this page, they&#039;re provided with a log number, and a line of code that tells me, exactly what&#039;s wrong, without compromising the security of your website.&lt;br /&gt;
&lt;br /&gt;
What would normally be a 500 error at best, becomes a tool to fix your site.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Security&amp;diff=189</id>
		<title>Logistack Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Security&amp;diff=189"/>
		<updated>2025-10-14T19:29:30Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Extra Protection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
95% of the pages in Logistack are hidden to Admins and Superusers, which provides amazing security in its own right.&lt;br /&gt;
&lt;br /&gt;
Beyond that, all data is protected inside a MySQL database.&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
* [https://securityheaders.com/?q=pro.logistack.co.uk&amp;amp;followRedirects=on Security Header] - A+&lt;br /&gt;
* [https://www.ssllabs.com/ssltest/analyze.html?d=pro.logistack.co.uk SSL Labs] - A A A A&lt;br /&gt;
* [https://developer.mozilla.org/en-US/observatory/analyze?host=pro.logistack.co.uk Mozilla HTTP Observatory] - A+&lt;br /&gt;
&lt;br /&gt;
== Extra Protection ==&lt;br /&gt;
&lt;br /&gt;
Most protected pages are set to display errors, which under ordinary circumstances would be asking for trouble! However, the way I&#039;ve set things up, to make providing support easier, is to use redirects, let me explain ...&lt;br /&gt;
&lt;br /&gt;
This is what a normal PHP error looks like;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Parse error: syntax error, unexpected &#039;}&#039;, expecting &#039;)&#039; in /var/www/app.php on line 7&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The issue is that when this displays publically, it provides an &amp;quot;in.&amp;quot; Showing &amp;lt;code&amp;gt;/var/www/app.php&amp;lt;/code&amp;gt; (or any full server path) to the public is classic information disclosure. On its own, it’s not a hack, but it materially helps attackers.&lt;br /&gt;
&lt;br /&gt;
With Logistack, when an error like this occurs, a normal user (non-admin), is redirected to a page that says, &amp;quot;An error occurred please inform admin.&amp;quot; And when admin visit this page, they&#039;re provided with a log number, and a line of code that tells me, exactly what&#039;s wrong, without compromising the security of your website.&lt;br /&gt;
&lt;br /&gt;
What would normally be a 500 error at best, becomes a tool to fix your site.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Security&amp;diff=188</id>
		<title>Logistack Security</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Security&amp;diff=188"/>
		<updated>2025-10-14T19:21:57Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: Created page with &amp;quot;== Overview ==  95% of the pages in Logistack are hidden to Admins and Superusers, which provides amazing security in its own right.  Beyond that, all data is protected inside a MySQL database.  == Tests ==  * [https://securityheaders.com/?q=pro.logistack.co.uk&amp;amp;followRedirects=on Security Header] - A+ * [https://www.ssllabs.com/ssltest/analyze.html?d=pro.logistack.co.uk SSL Labs] - A A A A * [https://developer.mozilla.org/en-US/observatory/analyze?host=pro.logistack.co.u...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
95% of the pages in Logistack are hidden to Admins and Superusers, which provides amazing security in its own right.&lt;br /&gt;
&lt;br /&gt;
Beyond that, all data is protected inside a MySQL database.&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
* [https://securityheaders.com/?q=pro.logistack.co.uk&amp;amp;followRedirects=on Security Header] - A+&lt;br /&gt;
* [https://www.ssllabs.com/ssltest/analyze.html?d=pro.logistack.co.uk SSL Labs] - A A A A&lt;br /&gt;
* [https://developer.mozilla.org/en-US/observatory/analyze?host=pro.logistack.co.uk Mozilla HTTP Observatory] - A+&lt;br /&gt;
&lt;br /&gt;
== Extra Protection ==&lt;br /&gt;
&lt;br /&gt;
Most protected pages are set to display errors, which under ordinary circumstances would be asking for trouble! However, the way I&#039;ve set things up, to make providing support easier, is to use redirects, let me explain ...&lt;br /&gt;
&lt;br /&gt;
This is what a normal PHP error looks like &amp;lt;code&amp;gt;Parse error: syntax error, unexpected &#039;}&#039;, expecting &#039;)&#039; in /var/www/app.php on line 7&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Security_and_privacy&amp;diff=187</id>
		<title>Security and privacy</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Security_and_privacy&amp;diff=187"/>
		<updated>2025-10-14T18:26:32Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ICO Registered ==&lt;br /&gt;
&lt;br /&gt;
In using Logistack as a business in the UK, you will need to register with the Information Commissioners Office, there is a charge of £55 / year if you pay by direct debit.&lt;br /&gt;
&lt;br /&gt;
== Example Privacy Policy ==&lt;br /&gt;
&lt;br /&gt;
Based on everything that Logistack collects.&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PRIVACY POLICY&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Last updated October 14, 2025&lt;br /&gt;
&lt;br /&gt;
This Privacy Notice for Venture Logistics Ltd (&#039;we&#039;, &#039;us&#039;, or &#039;our&#039;), describes how and why we might access, collect, store, use, and/or share (&#039;process&#039;) your personal information when you use our services (&#039;Services&#039;), including when you:&lt;br /&gt;
&lt;br /&gt;
Visit our website at logistack.co.uk or any website of ours that links to this Privacy Notice&lt;br /&gt;
&lt;br /&gt;
Use Courier. Venture Logistics is a UK courier/delivery company. We provide an online portal where customers book jobs, track deliveries, view Proof of Delivery (POD), and download invoices. We hold the names, address, phone and email.&lt;br /&gt;
&lt;br /&gt;
Engage with us in other related ways, including any sales, marketing, or events&lt;br /&gt;
&lt;br /&gt;
Questions or concerns? Reading this Privacy Notice will help you understand your privacy rights and choices. We are responsible for making decisions about how your personal information is processed. If you do not agree with our policies and practices, please do not use our Services. If you still have any questions or concerns, please contact us at lee@venture-logistics.co.uk.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SUMMARY OF KEY POINTS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This summary provides key points from our Privacy Notice, but you can find out more details about any of these topics by clicking the link following each key point or by using our table of contents below to find the section you are looking for.&lt;br /&gt;
&lt;br /&gt;
What personal information do we process? When you visit, use, or navigate our Services, we may process personal information depending on how you interact with us and the Services, the choices you make, and the products and features you use. Learn more about personal information you disclose to us.&lt;br /&gt;
&lt;br /&gt;
Do we process any sensitive personal information? Some of the information may be considered &#039;special&#039; or &#039;sensitive&#039; in certain jurisdictions, for example your racial or ethnic origins, sexual orientation, and religious beliefs. We do not process sensitive personal information.&lt;br /&gt;
&lt;br /&gt;
Do we collect any information from third parties? We do not collect any information from third parties.&lt;br /&gt;
&lt;br /&gt;
How do we process your information? We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent. We process your information only when we have a valid legal reason to do so. Learn more about how we process your information.&lt;br /&gt;
&lt;br /&gt;
In what situations and with which parties do we share personal information? We may share information in specific situations and with specific third parties. Learn more about when and with whom we share your personal information.&lt;br /&gt;
&lt;br /&gt;
How do we keep your information safe? We have adequate organisational and technical processes and procedures in place to protect your personal information. However, no electronic transmission over the internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. Learn more about how we keep your information safe.&lt;br /&gt;
&lt;br /&gt;
What are your rights? Depending on where you are located geographically, the applicable privacy law may mean you have certain rights regarding your personal information. Learn more about your privacy rights.&lt;br /&gt;
&lt;br /&gt;
How do you exercise your rights? The easiest way to exercise your rights is by submitting a data subject access request, or by contacting us. We will consider and act upon any request in accordance with applicable data protection laws.&lt;br /&gt;
&lt;br /&gt;
Want to learn more about what we do with any information we collect? Review the Privacy Notice in full.&lt;br /&gt;
&lt;br /&gt;
== 1. WHAT INFORMATION DO WE COLLECT? ==&lt;br /&gt;
&lt;br /&gt;
Personal information you disclose to us&lt;br /&gt;
&lt;br /&gt;
In Short: We collect personal information that you provide to us.&lt;br /&gt;
&lt;br /&gt;
We collect personal information that you voluntarily provide to us when you register on the Services, express an interest in obtaining information about us or our products and Services, when you participate in activities on the Services, or otherwise when you contact us.&lt;br /&gt;
&lt;br /&gt;
Personal Information Provided by You. The personal information that we collect depends on the context of your interactions with us and the Services, the choices you make, and the products and features you use. The personal information we collect may include the following:&lt;br /&gt;
&lt;br /&gt;
* names&lt;br /&gt;
* phone numbers&lt;br /&gt;
* email addresses&lt;br /&gt;
* mailing addresses&lt;br /&gt;
* usernames&lt;br /&gt;
* passwords&lt;br /&gt;
* billing addresses&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sensitive Information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We do not process sensitive information.&lt;br /&gt;
&lt;br /&gt;
All personal information that you provide to us must be true, complete, and accurate, and you must notify us of any changes to such personal information.&lt;br /&gt;
 &lt;br /&gt;
== 2. HOW DO WE PROCESS YOUR INFORMATION? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent.&lt;br /&gt;
&lt;br /&gt;
We process your personal information for a variety of reasons, depending on how you interact with our Services, including:&lt;br /&gt;
&lt;br /&gt;
To facilitate account creation and authentication and otherwise manage user accounts. We may process your information so you can create and log in to your account, as well as keep your account in working order.&lt;br /&gt;
&lt;br /&gt;
To deliver and facilitate delivery of services to the user. We may process your information to provide you with the requested service.&lt;br /&gt;
&lt;br /&gt;
To fulfil and manage your orders. We may process your information to fulfil and manage your orders, payments, returns, and exchanges made through the Services.&lt;br /&gt;
&lt;br /&gt;
To enable user-to-user communications. We may process your information if you choose to use any of our offerings that allow for communication with another user.&lt;br /&gt;
&lt;br /&gt;
To comply with our legal obligations. We may process your information to comply with our legal obligations, respond to legal requests, and exercise, establish, or defend our legal rights.&lt;br /&gt;
&lt;br /&gt;
== 3. WHEN AND WITH WHOM DO WE SHARE YOUR PERSONAL INFORMATION? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We may share information in specific situations described in this section and/or with the following third parties.&lt;br /&gt;
 &lt;br /&gt;
We may need to share your personal information in the following situations:&lt;br /&gt;
&lt;br /&gt;
Business Transfers. We may share or transfer your information in connection with, or during negotiations of, any merger, sale of company assets, financing, or acquisition of all or a portion of our business to another company.&lt;br /&gt;
&lt;br /&gt;
When we use Google Maps Platform APIs. We may share your information with certain Google Maps Platform APIs (e.g. Google Maps API, Places API). Google Maps uses GPS, Wi-Fi, and cell towers to estimate your location. GPS is accurate to about 20 meters, while Wi-Fi and cell towers help improve accuracy when GPS signals are weak, like indoors. This data helps Google Maps provide directions, but it is not always perfectly precise.&lt;br /&gt;
&lt;br /&gt;
== 4. DO WE USE COOKIES AND OTHER TRACKING TECHNOLOGIES? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We may use cookies and other tracking technologies to collect and store your information.&lt;br /&gt;
&lt;br /&gt;
We may use cookies and similar tracking technologies (like web beacons and pixels) to gather information when you interact with our Services. Some online tracking technologies help us maintain the security of our Services and your account, prevent crashes, fix bugs, save your preferences, and assist with basic site functions.&lt;br /&gt;
&lt;br /&gt;
We also permit third parties and service providers to use online tracking technologies on our Services for analytics and advertising, including to help manage and display advertisements, to tailor advertisements to your interests, or to send abandoned shopping cart reminders (depending on your communication preferences). The third parties and service providers use their technology to provide advertising about products and services tailored to your interests which may appear either on our Services or on other websites.&lt;br /&gt;
&lt;br /&gt;
Specific information about how we use such technologies and how you can refuse certain cookies is set out in our Cookie Notice.&lt;br /&gt;
&lt;br /&gt;
== 5. DO WE OFFER ARTIFICIAL INTELLIGENCE-BASED PRODUCTS? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We offer products, features, or tools powered by artificial intelligence, machine learning, or similar technologies.&lt;br /&gt;
&lt;br /&gt;
As part of our Services, we offer products, features, or tools powered by artificial intelligence, machine learning, or similar technologies (collectively, &#039;AI Products&#039;). These tools are designed to enhance your experience and provide you with innovative solutions. The terms in this Privacy Notice govern your use of the AI Products within our Services.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Our AI Products&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Our AI Products are designed for the following functions:&lt;br /&gt;
&lt;br /&gt;
* AI bots&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How We Process Your Data Using AI&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All personal information processed using our AI Products is handled in line with our Privacy Notice and our agreement with third parties. This ensures high security and safeguards your personal information throughout the process, giving you peace of mind about your data&#039;s safety.&lt;br /&gt;
&lt;br /&gt;
== 6. HOW LONG DO WE KEEP YOUR INFORMATION? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We keep your information for as long as necessary to fulfil the purposes outlined in this Privacy Notice unless otherwise required by law.&lt;br /&gt;
&lt;br /&gt;
We will only keep your personal information for as long as it is necessary for the purposes set out in this Privacy Notice, unless a longer retention period is required or permitted by law (such as tax, accounting, or other legal requirements). No purpose in this notice will require us keeping your personal information for longer than sixty (60) months past the termination of the user&#039;s account.&lt;br /&gt;
&lt;br /&gt;
When we have no ongoing legitimate business need to process your personal information, we will either delete or anonymise such information, or, if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible.&lt;br /&gt;
&lt;br /&gt;
== 7. HOW DO WE KEEP YOUR INFORMATION SAFE? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We aim to protect your personal information through a system of organisational and technical security measures.&lt;br /&gt;
&lt;br /&gt;
We have implemented appropriate and reasonable technical and organisational security measures designed to protect the security of any personal information we process. However, despite our safeguards and efforts to secure your information, no electronic transmission over the Internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. Although we will do our best to protect your personal information, transmission of personal information to and from our Services is at your own risk. You should only access the Services within a secure environment.&lt;br /&gt;
&lt;br /&gt;
== 8. DO WE COLLECT INFORMATION FROM MINORS? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We do not knowingly collect data from or market to children under 18 years of age.&lt;br /&gt;
&lt;br /&gt;
We do not knowingly collect, solicit data from, or market to children under 18 years of age, nor do we knowingly sell such personal information. By using the Services, you represent that you are at least 18 or that you are the parent or guardian of such a minor and consent to such minor dependent’s use of the Services. If we learn that personal information from users less than 18 years of age has been collected, we will deactivate the account and take reasonable measures to promptly delete such data from our records. If you become aware of any data we may have collected from children under age 18, please contact us at lee@venture-logistics.co.uk.&lt;br /&gt;
&lt;br /&gt;
== 9. WHAT ARE YOUR PRIVACY RIGHTS? ==&lt;br /&gt;
&lt;br /&gt;
In Short:  You may review, change, or terminate your account at any time, depending on your country, province, or state of residence.&lt;br /&gt;
&lt;br /&gt;
Withdrawing your consent: If we are relying on your consent to process your personal information, which may be express and/or implied consent depending on the applicable law, you have the right to withdraw your consent at any time. You can withdraw your consent at any time by contacting us by using the contact details provided in the section &#039;HOW CAN YOU CONTACT US ABOUT THIS NOTICE?&#039; below.&lt;br /&gt;
&lt;br /&gt;
However, please note that this will not affect the lawfulness of the processing before its withdrawal nor, when applicable law allows, will it affect the processing of your personal information conducted in reliance on lawful processing grounds other than consent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Account Information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you would at any time like to review or change the information in your account or terminate your account, you can:&lt;br /&gt;
&lt;br /&gt;
Contact us using the contact information provided.&lt;br /&gt;
 &lt;br /&gt;
Upon your request to terminate your account, we will deactivate or delete your account and information from our active databases. However, we may retain some information in our files to prevent fraud, troubleshoot problems, assist with any investigations, enforce our legal terms and/or comply with applicable legal requirements.&lt;br /&gt;
&lt;br /&gt;
Cookies and similar technologies: Most Web browsers are set to accept cookies by default. If you prefer, you can usually choose to set your browser to remove cookies and to reject cookies. If you choose to remove cookies or reject cookies, this could affect certain features or services of our Services.&lt;br /&gt;
&lt;br /&gt;
If you have questions or comments about your privacy rights, you may email us at lee@venture-logistics.co.uk.&lt;br /&gt;
&lt;br /&gt;
== 10. CONTROLS FOR DO-NOT-TRACK FEATURES ==&lt;br /&gt;
&lt;br /&gt;
Most web browsers and some mobile operating systems and mobile applications include a Do-Not-Track (&#039;DNT&#039;) feature or setting you can activate to signal your privacy preference not to have data about your online browsing activities monitored and collected. At this stage, no uniform technology standard for recognising and implementing DNT signals has been finalised. As such, we do not currently respond to DNT browser signals or any other mechanism that automatically communicates your choice not to be tracked online. If a standard for online tracking is adopted that we must follow in the future, we will inform you about that practice in a revised version of this Privacy Notice.&lt;br /&gt;
 &lt;br /&gt;
== 11. DO WE MAKE UPDATES TO THIS NOTICE? ==&lt;br /&gt;
&lt;br /&gt;
In Short: Yes, we will update this notice as necessary to stay compliant with relevant laws.&lt;br /&gt;
&lt;br /&gt;
We may update this Privacy Notice from time to time. The updated version will be indicated by an updated &#039;Revised&#039; date at the top of this Privacy Notice. If we make material changes to this Privacy Notice, we may notify you either by prominently posting a notice of such changes or by directly sending you a notification. We encourage you to review this Privacy Notice frequently to be informed of how we are protecting your information.&lt;br /&gt;
&lt;br /&gt;
== 12. HOW CAN YOU CONTACT US ABOUT THIS NOTICE? ==&lt;br /&gt;
&lt;br /&gt;
If you have questions or comments about this notice, you may contact our Data Protection Officer (DPO) by email at lee@venture-logistics.co.uk, by phone at 07788821121, or contact us by post at:&lt;br /&gt;
&lt;br /&gt;
Venture Logistics Ltd&lt;br /&gt;
Data Protection Officer&lt;br /&gt;
57, Braeburn Road &lt;br /&gt;
Great Horkesley&lt;br /&gt;
COLCHESTER&lt;br /&gt;
CO6 4FH,&lt;br /&gt;
United Kingdom&lt;br /&gt;
&lt;br /&gt;
== 13. HOW CAN YOU REVIEW, UPDATE, OR DELETE THE DATA WE COLLECT FROM YOU? ==&lt;br /&gt;
&lt;br /&gt;
Based on the applicable laws of your country, you may have the right to request access to the personal information we collect from you, details about how we have processed it, correct inaccuracies, or delete your personal information. You may also have the right to withdraw your consent to our processing of your personal information. These rights may be limited in some circumstances by applicable law. To request to review, update, or delete your personal information, please fill out and submit a data subject access request.&lt;br /&gt;
&lt;br /&gt;
= Security =&lt;br /&gt;
&lt;br /&gt;
See the article on [[Logistack Security]]&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Security_and_privacy&amp;diff=186</id>
		<title>Security and privacy</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Security_and_privacy&amp;diff=186"/>
		<updated>2025-10-14T17:15:58Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: Created page with &amp;quot;== ICO Registered ==  In using Logistack as a business in the UK, you will need to register with the Information Commissioners Office, there is a charge of £55 / year if you pay by direct debit.  == Example Privacy Policy ==  Based on everything that Logistack collects.  -------  &amp;#039;&amp;#039;&amp;#039;PRIVACY POLICY&amp;#039;&amp;#039;&amp;#039;  Last updated October 14, 2025  This Privacy Notice for Venture Logistics Ltd (&amp;#039;we&amp;#039;, &amp;#039;us&amp;#039;, or &amp;#039;our&amp;#039;), describes how and why we might access, collect, store, use, and/or sha...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ICO Registered ==&lt;br /&gt;
&lt;br /&gt;
In using Logistack as a business in the UK, you will need to register with the Information Commissioners Office, there is a charge of £55 / year if you pay by direct debit.&lt;br /&gt;
&lt;br /&gt;
== Example Privacy Policy ==&lt;br /&gt;
&lt;br /&gt;
Based on everything that Logistack collects.&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PRIVACY POLICY&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Last updated October 14, 2025&lt;br /&gt;
&lt;br /&gt;
This Privacy Notice for Venture Logistics Ltd (&#039;we&#039;, &#039;us&#039;, or &#039;our&#039;), describes how and why we might access, collect, store, use, and/or share (&#039;process&#039;) your personal information when you use our services (&#039;Services&#039;), including when you:&lt;br /&gt;
&lt;br /&gt;
Visit our website at logistack.co.uk or any website of ours that links to this Privacy Notice&lt;br /&gt;
&lt;br /&gt;
Use Courier. Venture Logistics is a UK courier/delivery company. We provide an online portal where customers book jobs, track deliveries, view Proof of Delivery (POD), and download invoices. We hold the names, address, phone and email.&lt;br /&gt;
&lt;br /&gt;
Engage with us in other related ways, including any sales, marketing, or events&lt;br /&gt;
&lt;br /&gt;
Questions or concerns? Reading this Privacy Notice will help you understand your privacy rights and choices. We are responsible for making decisions about how your personal information is processed. If you do not agree with our policies and practices, please do not use our Services. If you still have any questions or concerns, please contact us at lee@venture-logistics.co.uk.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SUMMARY OF KEY POINTS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This summary provides key points from our Privacy Notice, but you can find out more details about any of these topics by clicking the link following each key point or by using our table of contents below to find the section you are looking for.&lt;br /&gt;
&lt;br /&gt;
What personal information do we process? When you visit, use, or navigate our Services, we may process personal information depending on how you interact with us and the Services, the choices you make, and the products and features you use. Learn more about personal information you disclose to us.&lt;br /&gt;
&lt;br /&gt;
Do we process any sensitive personal information? Some of the information may be considered &#039;special&#039; or &#039;sensitive&#039; in certain jurisdictions, for example your racial or ethnic origins, sexual orientation, and religious beliefs. We do not process sensitive personal information.&lt;br /&gt;
&lt;br /&gt;
Do we collect any information from third parties? We do not collect any information from third parties.&lt;br /&gt;
&lt;br /&gt;
How do we process your information? We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent. We process your information only when we have a valid legal reason to do so. Learn more about how we process your information.&lt;br /&gt;
&lt;br /&gt;
In what situations and with which parties do we share personal information? We may share information in specific situations and with specific third parties. Learn more about when and with whom we share your personal information.&lt;br /&gt;
&lt;br /&gt;
How do we keep your information safe? We have adequate organisational and technical processes and procedures in place to protect your personal information. However, no electronic transmission over the internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. Learn more about how we keep your information safe.&lt;br /&gt;
&lt;br /&gt;
What are your rights? Depending on where you are located geographically, the applicable privacy law may mean you have certain rights regarding your personal information. Learn more about your privacy rights.&lt;br /&gt;
&lt;br /&gt;
How do you exercise your rights? The easiest way to exercise your rights is by submitting a data subject access request, or by contacting us. We will consider and act upon any request in accordance with applicable data protection laws.&lt;br /&gt;
&lt;br /&gt;
Want to learn more about what we do with any information we collect? Review the Privacy Notice in full.&lt;br /&gt;
&lt;br /&gt;
== 1. WHAT INFORMATION DO WE COLLECT? ==&lt;br /&gt;
&lt;br /&gt;
Personal information you disclose to us&lt;br /&gt;
&lt;br /&gt;
In Short: We collect personal information that you provide to us.&lt;br /&gt;
&lt;br /&gt;
We collect personal information that you voluntarily provide to us when you register on the Services, express an interest in obtaining information about us or our products and Services, when you participate in activities on the Services, or otherwise when you contact us.&lt;br /&gt;
&lt;br /&gt;
Personal Information Provided by You. The personal information that we collect depends on the context of your interactions with us and the Services, the choices you make, and the products and features you use. The personal information we collect may include the following:&lt;br /&gt;
&lt;br /&gt;
* names&lt;br /&gt;
* phone numbers&lt;br /&gt;
* email addresses&lt;br /&gt;
* mailing addresses&lt;br /&gt;
* usernames&lt;br /&gt;
* passwords&lt;br /&gt;
* billing addresses&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sensitive Information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We do not process sensitive information.&lt;br /&gt;
&lt;br /&gt;
All personal information that you provide to us must be true, complete, and accurate, and you must notify us of any changes to such personal information.&lt;br /&gt;
 &lt;br /&gt;
== 2. HOW DO WE PROCESS YOUR INFORMATION? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. We may also process your information for other purposes with your consent.&lt;br /&gt;
&lt;br /&gt;
We process your personal information for a variety of reasons, depending on how you interact with our Services, including:&lt;br /&gt;
&lt;br /&gt;
To facilitate account creation and authentication and otherwise manage user accounts. We may process your information so you can create and log in to your account, as well as keep your account in working order.&lt;br /&gt;
&lt;br /&gt;
To deliver and facilitate delivery of services to the user. We may process your information to provide you with the requested service.&lt;br /&gt;
&lt;br /&gt;
To fulfil and manage your orders. We may process your information to fulfil and manage your orders, payments, returns, and exchanges made through the Services.&lt;br /&gt;
&lt;br /&gt;
To enable user-to-user communications. We may process your information if you choose to use any of our offerings that allow for communication with another user.&lt;br /&gt;
&lt;br /&gt;
To comply with our legal obligations. We may process your information to comply with our legal obligations, respond to legal requests, and exercise, establish, or defend our legal rights.&lt;br /&gt;
&lt;br /&gt;
== 3. WHEN AND WITH WHOM DO WE SHARE YOUR PERSONAL INFORMATION? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We may share information in specific situations described in this section and/or with the following third parties.&lt;br /&gt;
 &lt;br /&gt;
We may need to share your personal information in the following situations:&lt;br /&gt;
&lt;br /&gt;
Business Transfers. We may share or transfer your information in connection with, or during negotiations of, any merger, sale of company assets, financing, or acquisition of all or a portion of our business to another company.&lt;br /&gt;
&lt;br /&gt;
When we use Google Maps Platform APIs. We may share your information with certain Google Maps Platform APIs (e.g. Google Maps API, Places API). Google Maps uses GPS, Wi-Fi, and cell towers to estimate your location. GPS is accurate to about 20 meters, while Wi-Fi and cell towers help improve accuracy when GPS signals are weak, like indoors. This data helps Google Maps provide directions, but it is not always perfectly precise.&lt;br /&gt;
&lt;br /&gt;
== 4. DO WE USE COOKIES AND OTHER TRACKING TECHNOLOGIES? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We may use cookies and other tracking technologies to collect and store your information.&lt;br /&gt;
&lt;br /&gt;
We may use cookies and similar tracking technologies (like web beacons and pixels) to gather information when you interact with our Services. Some online tracking technologies help us maintain the security of our Services and your account, prevent crashes, fix bugs, save your preferences, and assist with basic site functions.&lt;br /&gt;
&lt;br /&gt;
We also permit third parties and service providers to use online tracking technologies on our Services for analytics and advertising, including to help manage and display advertisements, to tailor advertisements to your interests, or to send abandoned shopping cart reminders (depending on your communication preferences). The third parties and service providers use their technology to provide advertising about products and services tailored to your interests which may appear either on our Services or on other websites.&lt;br /&gt;
&lt;br /&gt;
Specific information about how we use such technologies and how you can refuse certain cookies is set out in our Cookie Notice.&lt;br /&gt;
&lt;br /&gt;
== 5. DO WE OFFER ARTIFICIAL INTELLIGENCE-BASED PRODUCTS? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We offer products, features, or tools powered by artificial intelligence, machine learning, or similar technologies.&lt;br /&gt;
&lt;br /&gt;
As part of our Services, we offer products, features, or tools powered by artificial intelligence, machine learning, or similar technologies (collectively, &#039;AI Products&#039;). These tools are designed to enhance your experience and provide you with innovative solutions. The terms in this Privacy Notice govern your use of the AI Products within our Services.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Our AI Products&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Our AI Products are designed for the following functions:&lt;br /&gt;
&lt;br /&gt;
* AI bots&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How We Process Your Data Using AI&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All personal information processed using our AI Products is handled in line with our Privacy Notice and our agreement with third parties. This ensures high security and safeguards your personal information throughout the process, giving you peace of mind about your data&#039;s safety.&lt;br /&gt;
&lt;br /&gt;
== 6. HOW LONG DO WE KEEP YOUR INFORMATION? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We keep your information for as long as necessary to fulfil the purposes outlined in this Privacy Notice unless otherwise required by law.&lt;br /&gt;
&lt;br /&gt;
We will only keep your personal information for as long as it is necessary for the purposes set out in this Privacy Notice, unless a longer retention period is required or permitted by law (such as tax, accounting, or other legal requirements). No purpose in this notice will require us keeping your personal information for longer than sixty (60) months past the termination of the user&#039;s account.&lt;br /&gt;
&lt;br /&gt;
When we have no ongoing legitimate business need to process your personal information, we will either delete or anonymise such information, or, if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible.&lt;br /&gt;
&lt;br /&gt;
== 7. HOW DO WE KEEP YOUR INFORMATION SAFE? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We aim to protect your personal information through a system of organisational and technical security measures.&lt;br /&gt;
&lt;br /&gt;
We have implemented appropriate and reasonable technical and organisational security measures designed to protect the security of any personal information we process. However, despite our safeguards and efforts to secure your information, no electronic transmission over the Internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. Although we will do our best to protect your personal information, transmission of personal information to and from our Services is at your own risk. You should only access the Services within a secure environment.&lt;br /&gt;
&lt;br /&gt;
== 8. DO WE COLLECT INFORMATION FROM MINORS? ==&lt;br /&gt;
&lt;br /&gt;
In Short: We do not knowingly collect data from or market to children under 18 years of age.&lt;br /&gt;
&lt;br /&gt;
We do not knowingly collect, solicit data from, or market to children under 18 years of age, nor do we knowingly sell such personal information. By using the Services, you represent that you are at least 18 or that you are the parent or guardian of such a minor and consent to such minor dependent’s use of the Services. If we learn that personal information from users less than 18 years of age has been collected, we will deactivate the account and take reasonable measures to promptly delete such data from our records. If you become aware of any data we may have collected from children under age 18, please contact us at lee@venture-logistics.co.uk.&lt;br /&gt;
&lt;br /&gt;
== 9. WHAT ARE YOUR PRIVACY RIGHTS? ==&lt;br /&gt;
&lt;br /&gt;
In Short:  You may review, change, or terminate your account at any time, depending on your country, province, or state of residence.&lt;br /&gt;
&lt;br /&gt;
Withdrawing your consent: If we are relying on your consent to process your personal information, which may be express and/or implied consent depending on the applicable law, you have the right to withdraw your consent at any time. You can withdraw your consent at any time by contacting us by using the contact details provided in the section &#039;HOW CAN YOU CONTACT US ABOUT THIS NOTICE?&#039; below.&lt;br /&gt;
&lt;br /&gt;
However, please note that this will not affect the lawfulness of the processing before its withdrawal nor, when applicable law allows, will it affect the processing of your personal information conducted in reliance on lawful processing grounds other than consent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Account Information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you would at any time like to review or change the information in your account or terminate your account, you can:&lt;br /&gt;
&lt;br /&gt;
Contact us using the contact information provided.&lt;br /&gt;
 &lt;br /&gt;
Upon your request to terminate your account, we will deactivate or delete your account and information from our active databases. However, we may retain some information in our files to prevent fraud, troubleshoot problems, assist with any investigations, enforce our legal terms and/or comply with applicable legal requirements.&lt;br /&gt;
&lt;br /&gt;
Cookies and similar technologies: Most Web browsers are set to accept cookies by default. If you prefer, you can usually choose to set your browser to remove cookies and to reject cookies. If you choose to remove cookies or reject cookies, this could affect certain features or services of our Services.&lt;br /&gt;
&lt;br /&gt;
If you have questions or comments about your privacy rights, you may email us at lee@venture-logistics.co.uk.&lt;br /&gt;
&lt;br /&gt;
== 10. CONTROLS FOR DO-NOT-TRACK FEATURES ==&lt;br /&gt;
&lt;br /&gt;
Most web browsers and some mobile operating systems and mobile applications include a Do-Not-Track (&#039;DNT&#039;) feature or setting you can activate to signal your privacy preference not to have data about your online browsing activities monitored and collected. At this stage, no uniform technology standard for recognising and implementing DNT signals has been finalised. As such, we do not currently respond to DNT browser signals or any other mechanism that automatically communicates your choice not to be tracked online. If a standard for online tracking is adopted that we must follow in the future, we will inform you about that practice in a revised version of this Privacy Notice.&lt;br /&gt;
 &lt;br /&gt;
== 11. DO WE MAKE UPDATES TO THIS NOTICE? ==&lt;br /&gt;
&lt;br /&gt;
In Short: Yes, we will update this notice as necessary to stay compliant with relevant laws.&lt;br /&gt;
&lt;br /&gt;
We may update this Privacy Notice from time to time. The updated version will be indicated by an updated &#039;Revised&#039; date at the top of this Privacy Notice. If we make material changes to this Privacy Notice, we may notify you either by prominently posting a notice of such changes or by directly sending you a notification. We encourage you to review this Privacy Notice frequently to be informed of how we are protecting your information.&lt;br /&gt;
&lt;br /&gt;
== 12. HOW CAN YOU CONTACT US ABOUT THIS NOTICE? ==&lt;br /&gt;
&lt;br /&gt;
If you have questions or comments about this notice, you may contact our Data Protection Officer (DPO) by email at lee@venture-logistics.co.uk, by phone at 07788821121, or contact us by post at:&lt;br /&gt;
&lt;br /&gt;
Venture Logistics Ltd&lt;br /&gt;
Data Protection Officer&lt;br /&gt;
57, Braeburn Road &lt;br /&gt;
Great Horkesley&lt;br /&gt;
COLCHESTER&lt;br /&gt;
CO6 4FH,&lt;br /&gt;
United Kingdom&lt;br /&gt;
&lt;br /&gt;
== 13. HOW CAN YOU REVIEW, UPDATE, OR DELETE THE DATA WE COLLECT FROM YOU? ==&lt;br /&gt;
&lt;br /&gt;
Based on the applicable laws of your country, you may have the right to request access to the personal information we collect from you, details about how we have processed it, correct inaccuracies, or delete your personal information. You may also have the right to withdraw your consent to our processing of your personal information. These rights may be limited in some circumstances by applicable law. To request to review, update, or delete your personal information, please fill out and submit a data subject access request.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Booking_Module&amp;diff=185</id>
		<title>Booking Module</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Booking_Module&amp;diff=185"/>
		<updated>2025-10-14T06:50:37Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Video Demonstration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Booking Module is designed to create an easy method from customers to book services, it comes with multiple section for your customer to add everything about their delivery.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
https://logistack.co.uk/uploads/bookings.jpg&lt;br /&gt;
&lt;br /&gt;
== Video Demonstration ==&lt;br /&gt;
&lt;br /&gt;
Watch video full screen for better clarity, and hit the gear icon to set quality to 1080 HD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;&amp;lt;/youtube&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=184</id>
		<title>Quote Calculator</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=184"/>
		<updated>2025-10-14T06:39:52Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Video Guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
See the video below for a demo on how this module works and how to edit the calculation factors.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
The Quote Calculator provides a highly accurate cost of delivery, in real time from a postcode. It combines distance, fuel, labour, and regional surcharges (e.g., London/ULEZ/C-Charge), and then produces a customer-facing price with transparent line items.&lt;br /&gt;
&lt;br /&gt;
== Audience ==&lt;br /&gt;
* &#039;&#039;&#039;Admins:&#039;&#039;&#039; configure pricing, surcharges, and rules.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; generate quick quotes for callers.&lt;br /&gt;
* &#039;&#039;&#039;Customers:&#039;&#039;&#039; Self-serve accurate quotes via the website.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
* Distance-based pricing from depot to destination and return.&lt;br /&gt;
* Cost model: fuel (mpg × diesel £/L), labour £/hr, base fee, per-mile, and regional surcharges.&lt;br /&gt;
* All quotes requests are record in administration along with customer phone and email for easy follow up.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
All values below are configurable in Settings.&lt;br /&gt;
&lt;br /&gt;
=== Core Cost Parameters ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Depot postcode:&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;CO64FH&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Base fee (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;25.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Per-mile rate (£/mile):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.10&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Labour rate (£/hr):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;17.50&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Diesel price (£/L):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.42&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Vehicle MPG (UK):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;38.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Regional Surcharges ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;London surcharge (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;50.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;ULEZ / Congestion:&#039;&#039;&#039; fixed amounts or pass-through (configurable)&lt;br /&gt;
* &#039;&#039;&#039;Dartford Crossing&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;London Tunnels&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Presentation ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;VAT behaviour:&#039;&#039;&#039; include/exclude&lt;br /&gt;
* &#039;&#039;&#039;Discount codes:&#039;&#039;&#039; applied when creating an invoice&lt;br /&gt;
&lt;br /&gt;
== Price Formula (reference) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
distance_miles   = route_distance(from=Depot, to=Postcode[, return=true|false])&lt;br /&gt;
&lt;br /&gt;
fuel_litres      = (distance_miles / vehicle_mpg_uk) * 4.546&lt;br /&gt;
fuel_cost        = fuel_litres * diesel_price_per_litre&lt;br /&gt;
&lt;br /&gt;
labour_hours     = ( (distance_miles / avg_mph) + (loading_minutes/60) ) * crew_count&lt;br /&gt;
labour_cost      = labour_hours * labour_rate_per_hour&lt;br /&gt;
&lt;br /&gt;
mileage_cost     = distance_miles * per_mile_rate&lt;br /&gt;
surcharges_total = london_surcharge + ulez + congestion + extras&lt;br /&gt;
&lt;br /&gt;
subtotal         = base_fee + mileage_cost + fuel_cost + labour_cost + surcharges_total&lt;br /&gt;
subtotal         = max(subtotal, minimum_charge)&lt;br /&gt;
price_rounded    = apply_rounding(subtotal)&lt;br /&gt;
final_price      = apply_vat(price_rounded)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example (illustrative):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Depot CO6 4FH → SW1A 1AA (one-way 68 mi), MPG 38, Diesel £1.42/L&lt;br /&gt;
fuel_litres ≈ (68 / 38) * 4.546 = 8.13 L&lt;br /&gt;
fuel_cost   ≈ 8.13 * 1.42 = £11.55&lt;br /&gt;
mileage     = 68 * £1.10 = £74.80&lt;br /&gt;
labour      = 2.0 hrs * £17.50 = £35.00   (example)&lt;br /&gt;
surcharges  = London £50.00&lt;br /&gt;
subtotal    = base £25 + £74.80 + £11.55 + £35 + £50 = £196.35 → rounded to £195/£200 per rule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* &#039;&#039;&#039;Admin:&#039;&#039;&#039; can configure pricing, view logs, export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Manager:&#039;&#039;&#039; can view logs and export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; can create quotes&lt;br /&gt;
* &#039;&#039;&#039;Customer / visitors:&#039;&#039;&#039; can generate quotes.&lt;br /&gt;
&lt;br /&gt;
== User Flow ==&lt;br /&gt;
# Enter destination postcode (no space e.g. CO43FH).&lt;br /&gt;
# Click &#039;&#039;&#039;Calculate&#039;&#039;&#039;. A quotation is displayed along with a break down of the costs.&lt;br /&gt;
# Quotation saved in administration.&lt;br /&gt;
# Happy with quotation? Click here to Book the delivery.&lt;br /&gt;
# Customer books the service.&lt;br /&gt;
#Booking sent to administration.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
All 2.8 million postcodes are included, from England, Scotland and Wales.&lt;br /&gt;
&lt;br /&gt;
The database, an .sql file, was incredibly difficult to refine to the point where it was possible to upload, its current size is 88MB, was reduced from an initial 1.2GB.&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
* UK postcode format (server + client).&lt;br /&gt;
* Numeric bounds for miles, rates, and surcharges.&lt;br /&gt;
* Permission checks on pricing endpoints (only Admin may change settings).&lt;br /&gt;
* Rate limiting on public calculator to prevent abuse.&lt;br /&gt;
&lt;br /&gt;
== Caching &amp;amp; Performance ==&lt;br /&gt;
* Postcode → lat/lon cached in &#039;&#039;&#039;postcode_cache&#039;&#039;&#039; (TTL configurable).&lt;br /&gt;
* Distance calculation memoised for last N lookups.&lt;br /&gt;
* Enable &#039;&#039;&#039;Preserve log&#039;&#039;&#039; in DevTools when debugging Network requests.&lt;br /&gt;
* Consider CDN caching for static calculator assets.&lt;br /&gt;
&lt;br /&gt;
== Errors &amp;amp; Troubleshooting ==&lt;br /&gt;
* &#039;&#039;&#039;“No price returned”&#039;&#039;&#039; Only 2 possibilities, 1. The user entered the postcode with a space, or a customization of the quote_calc_save.php file.&lt;br /&gt;
* &#039;&#039;&#039;“Feels slow”&#039;&#039;&#039; Because Google Routes plans the route using roads (not as the crow flies), destinations a long way from your depot will take longer to calculate, thus the quote takes longer to appear - this is normal.&lt;br /&gt;
* &#039;&#039;&#039;“Google Error message”&#039;&#039;&#039; Almost always due to adding the API Key incorrectly - the only fix is changing via the database (phpMyAdmin).&lt;br /&gt;
* Provide a full report using [[Troubleshooting|How to Report an Issue]].&lt;br /&gt;
&lt;br /&gt;
== Admin Tips ==&lt;br /&gt;
* Review minimum charge and rounding quarterly.&lt;br /&gt;
* Keep diesel price updated weekly.&lt;br /&gt;
* Use discount codes sparingly; prefer fixed-price overrides for special jobs.&lt;br /&gt;
* Add London/ULEZ/C-Charge as separate line items to keep audits clean.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* &#039;&#039;&#039;Can I include return mileage?&#039;&#039;&#039; Yes, the calculator is set up for the total journey distance - why would we only charge for half the journey?&lt;br /&gt;
* &#039;&#039;&#039;Do customers see line items?&#039;&#039;&#039; Public view a full breakdown of the cost by default, this can be modified. Admin can see what&#039;s important (Name, Phone &amp;amp; email, postcode, distance and price.&lt;br /&gt;
* &#039;&#039;&#039;How do I change the settings?&#039;&#039;&#039; Watch the video below for a full explanation.&lt;br /&gt;
* &#039;&#039;&#039;Why does the mileage seem high?&#039;&#039;&#039; The journey distance is for there and back.&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* &#039;&#039;&#039;v1.8.7&#039;&#039;&#039; – UI polish, faster list rendering, clearer errors on failed POD upload; minor rounding fixes in PDFs (see Release Notes).&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
&lt;br /&gt;
A few additions in the pipeline, both UI and functionality improvements - see Logistack development [[Roadmap]] for more info.&lt;br /&gt;
&lt;br /&gt;
== Video Guide ==&lt;br /&gt;
&lt;br /&gt;
Watch video full screen for better clarity, and hit the gear icon to set quality to 1080 HD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Uxe2vjdGYxM&amp;lt;/youtube&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=183</id>
		<title>Quote Calculator</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=183"/>
		<updated>2025-10-14T06:39:08Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
See the video below for a demo on how this module works and how to edit the calculation factors.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
The Quote Calculator provides a highly accurate cost of delivery, in real time from a postcode. It combines distance, fuel, labour, and regional surcharges (e.g., London/ULEZ/C-Charge), and then produces a customer-facing price with transparent line items.&lt;br /&gt;
&lt;br /&gt;
== Audience ==&lt;br /&gt;
* &#039;&#039;&#039;Admins:&#039;&#039;&#039; configure pricing, surcharges, and rules.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; generate quick quotes for callers.&lt;br /&gt;
* &#039;&#039;&#039;Customers:&#039;&#039;&#039; Self-serve accurate quotes via the website.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
* Distance-based pricing from depot to destination and return.&lt;br /&gt;
* Cost model: fuel (mpg × diesel £/L), labour £/hr, base fee, per-mile, and regional surcharges.&lt;br /&gt;
* All quotes requests are record in administration along with customer phone and email for easy follow up.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
All values below are configurable in Settings.&lt;br /&gt;
&lt;br /&gt;
=== Core Cost Parameters ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Depot postcode:&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;CO64FH&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Base fee (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;25.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Per-mile rate (£/mile):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.10&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Labour rate (£/hr):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;17.50&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Diesel price (£/L):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.42&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Vehicle MPG (UK):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;38.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Regional Surcharges ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;London surcharge (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;50.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;ULEZ / Congestion:&#039;&#039;&#039; fixed amounts or pass-through (configurable)&lt;br /&gt;
* &#039;&#039;&#039;Dartford Crossing&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;London Tunnels&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Presentation ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;VAT behaviour:&#039;&#039;&#039; include/exclude&lt;br /&gt;
* &#039;&#039;&#039;Discount codes:&#039;&#039;&#039; applied when creating an invoice&lt;br /&gt;
&lt;br /&gt;
== Price Formula (reference) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
distance_miles   = route_distance(from=Depot, to=Postcode[, return=true|false])&lt;br /&gt;
&lt;br /&gt;
fuel_litres      = (distance_miles / vehicle_mpg_uk) * 4.546&lt;br /&gt;
fuel_cost        = fuel_litres * diesel_price_per_litre&lt;br /&gt;
&lt;br /&gt;
labour_hours     = ( (distance_miles / avg_mph) + (loading_minutes/60) ) * crew_count&lt;br /&gt;
labour_cost      = labour_hours * labour_rate_per_hour&lt;br /&gt;
&lt;br /&gt;
mileage_cost     = distance_miles * per_mile_rate&lt;br /&gt;
surcharges_total = london_surcharge + ulez + congestion + extras&lt;br /&gt;
&lt;br /&gt;
subtotal         = base_fee + mileage_cost + fuel_cost + labour_cost + surcharges_total&lt;br /&gt;
subtotal         = max(subtotal, minimum_charge)&lt;br /&gt;
price_rounded    = apply_rounding(subtotal)&lt;br /&gt;
final_price      = apply_vat(price_rounded)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example (illustrative):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Depot CO6 4FH → SW1A 1AA (one-way 68 mi), MPG 38, Diesel £1.42/L&lt;br /&gt;
fuel_litres ≈ (68 / 38) * 4.546 = 8.13 L&lt;br /&gt;
fuel_cost   ≈ 8.13 * 1.42 = £11.55&lt;br /&gt;
mileage     = 68 * £1.10 = £74.80&lt;br /&gt;
labour      = 2.0 hrs * £17.50 = £35.00   (example)&lt;br /&gt;
surcharges  = London £50.00&lt;br /&gt;
subtotal    = base £25 + £74.80 + £11.55 + £35 + £50 = £196.35 → rounded to £195/£200 per rule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* &#039;&#039;&#039;Admin:&#039;&#039;&#039; can configure pricing, view logs, export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Manager:&#039;&#039;&#039; can view logs and export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; can create quotes&lt;br /&gt;
* &#039;&#039;&#039;Customer / visitors:&#039;&#039;&#039; can generate quotes.&lt;br /&gt;
&lt;br /&gt;
== User Flow ==&lt;br /&gt;
# Enter destination postcode (no space e.g. CO43FH).&lt;br /&gt;
# Click &#039;&#039;&#039;Calculate&#039;&#039;&#039;. A quotation is displayed along with a break down of the costs.&lt;br /&gt;
# Quotation saved in administration.&lt;br /&gt;
# Happy with quotation? Click here to Book the delivery.&lt;br /&gt;
# Customer books the service.&lt;br /&gt;
#Booking sent to administration.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
All 2.8 million postcodes are included, from England, Scotland and Wales.&lt;br /&gt;
&lt;br /&gt;
The database, an .sql file, was incredibly difficult to refine to the point where it was possible to upload, its current size is 88MB, was reduced from an initial 1.2GB.&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
* UK postcode format (server + client).&lt;br /&gt;
* Numeric bounds for miles, rates, and surcharges.&lt;br /&gt;
* Permission checks on pricing endpoints (only Admin may change settings).&lt;br /&gt;
* Rate limiting on public calculator to prevent abuse.&lt;br /&gt;
&lt;br /&gt;
== Caching &amp;amp; Performance ==&lt;br /&gt;
* Postcode → lat/lon cached in &#039;&#039;&#039;postcode_cache&#039;&#039;&#039; (TTL configurable).&lt;br /&gt;
* Distance calculation memoised for last N lookups.&lt;br /&gt;
* Enable &#039;&#039;&#039;Preserve log&#039;&#039;&#039; in DevTools when debugging Network requests.&lt;br /&gt;
* Consider CDN caching for static calculator assets.&lt;br /&gt;
&lt;br /&gt;
== Errors &amp;amp; Troubleshooting ==&lt;br /&gt;
* &#039;&#039;&#039;“No price returned”&#039;&#039;&#039; Only 2 possibilities, 1. The user entered the postcode with a space, or a customization of the quote_calc_save.php file.&lt;br /&gt;
* &#039;&#039;&#039;“Feels slow”&#039;&#039;&#039; Because Google Routes plans the route using roads (not as the crow flies), destinations a long way from your depot will take longer to calculate, thus the quote takes longer to appear - this is normal.&lt;br /&gt;
* &#039;&#039;&#039;“Google Error message”&#039;&#039;&#039; Almost always due to adding the API Key incorrectly - the only fix is changing via the database (phpMyAdmin).&lt;br /&gt;
* Provide a full report using [[Troubleshooting|How to Report an Issue]].&lt;br /&gt;
&lt;br /&gt;
== Admin Tips ==&lt;br /&gt;
* Review minimum charge and rounding quarterly.&lt;br /&gt;
* Keep diesel price updated weekly.&lt;br /&gt;
* Use discount codes sparingly; prefer fixed-price overrides for special jobs.&lt;br /&gt;
* Add London/ULEZ/C-Charge as separate line items to keep audits clean.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* &#039;&#039;&#039;Can I include return mileage?&#039;&#039;&#039; Yes, the calculator is set up for the total journey distance - why would we only charge for half the journey?&lt;br /&gt;
* &#039;&#039;&#039;Do customers see line items?&#039;&#039;&#039; Public view a full breakdown of the cost by default, this can be modified. Admin can see what&#039;s important (Name, Phone &amp;amp; email, postcode, distance and price.&lt;br /&gt;
* &#039;&#039;&#039;How do I change the settings?&#039;&#039;&#039; Watch the video below for a full explanation.&lt;br /&gt;
* &#039;&#039;&#039;Why does the mileage seem high?&#039;&#039;&#039; The journey distance is for there and back.&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* &#039;&#039;&#039;v1.8.7&#039;&#039;&#039; – UI polish, faster list rendering, clearer errors on failed POD upload; minor rounding fixes in PDFs (see Release Notes).&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
&lt;br /&gt;
A few additions in the pipeline, both UI and functionality improvements - see Logistack development [[Roadmap]] for more info.&lt;br /&gt;
&lt;br /&gt;
== Video Guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;Uxe2vjdGYxM&amp;lt;/youtube&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=182</id>
		<title>Quote Calculator</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=182"/>
		<updated>2025-10-14T03:16:52Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Errors &amp;amp; Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
See the video below for a demo on how this module works and how to edit the calculation factors.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
The Quote Calculator provides a highly accurate cost of delivery, in real time from a postcode. It combines distance, fuel, labour, and regional surcharges (e.g., London/ULEZ/C-Charge), and then produces a customer-facing price with transparent line items.&lt;br /&gt;
&lt;br /&gt;
== Audience ==&lt;br /&gt;
* &#039;&#039;&#039;Admins:&#039;&#039;&#039; configure pricing, surcharges, and rules.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; generate quick quotes for callers.&lt;br /&gt;
* &#039;&#039;&#039;Customers:&#039;&#039;&#039; Self-serve accurate quotes via the website.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
* Distance-based pricing from depot to destination and return.&lt;br /&gt;
* Cost model: fuel (mpg × diesel £/L), labour £/hr, base fee, per-mile, and regional surcharges.&lt;br /&gt;
* All quotes requests are record in administration along with customer phone and email for easy follow up.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
All values below are configurable in Settings.&lt;br /&gt;
&lt;br /&gt;
=== Core Cost Parameters ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Depot postcode:&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;CO64FH&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Base fee (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;25.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Per-mile rate (£/mile):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.10&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Labour rate (£/hr):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;17.50&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Diesel price (£/L):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.42&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Vehicle MPG (UK):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;38.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Regional Surcharges ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;London surcharge (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;50.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;ULEZ / Congestion:&#039;&#039;&#039; fixed amounts or pass-through (configurable)&lt;br /&gt;
* &#039;&#039;&#039;Dartford Crossing&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;London Tunnels&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Presentation ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;VAT behaviour:&#039;&#039;&#039; include/exclude&lt;br /&gt;
* &#039;&#039;&#039;Discount codes:&#039;&#039;&#039; applied when creating an invoice&lt;br /&gt;
&lt;br /&gt;
== Price Formula (reference) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
distance_miles   = route_distance(from=Depot, to=Postcode[, return=true|false])&lt;br /&gt;
&lt;br /&gt;
fuel_litres      = (distance_miles / vehicle_mpg_uk) * 4.546&lt;br /&gt;
fuel_cost        = fuel_litres * diesel_price_per_litre&lt;br /&gt;
&lt;br /&gt;
labour_hours     = ( (distance_miles / avg_mph) + (loading_minutes/60) ) * crew_count&lt;br /&gt;
labour_cost      = labour_hours * labour_rate_per_hour&lt;br /&gt;
&lt;br /&gt;
mileage_cost     = distance_miles * per_mile_rate&lt;br /&gt;
surcharges_total = london_surcharge + ulez + congestion + extras&lt;br /&gt;
&lt;br /&gt;
subtotal         = base_fee + mileage_cost + fuel_cost + labour_cost + surcharges_total&lt;br /&gt;
subtotal         = max(subtotal, minimum_charge)&lt;br /&gt;
price_rounded    = apply_rounding(subtotal)&lt;br /&gt;
final_price      = apply_vat(price_rounded)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example (illustrative):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Depot CO6 4FH → SW1A 1AA (one-way 68 mi), MPG 38, Diesel £1.42/L&lt;br /&gt;
fuel_litres ≈ (68 / 38) * 4.546 = 8.13 L&lt;br /&gt;
fuel_cost   ≈ 8.13 * 1.42 = £11.55&lt;br /&gt;
mileage     = 68 * £1.10 = £74.80&lt;br /&gt;
labour      = 2.0 hrs * £17.50 = £35.00   (example)&lt;br /&gt;
surcharges  = London £50.00&lt;br /&gt;
subtotal    = base £25 + £74.80 + £11.55 + £35 + £50 = £196.35 → rounded to £195/£200 per rule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* &#039;&#039;&#039;Admin:&#039;&#039;&#039; can configure pricing, view logs, export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Manager:&#039;&#039;&#039; can view logs and export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; can create quotes&lt;br /&gt;
* &#039;&#039;&#039;Customer / visitors:&#039;&#039;&#039; can generate quotes.&lt;br /&gt;
&lt;br /&gt;
== User Flow ==&lt;br /&gt;
# Enter destination postcode (no space e.g. CO43FH).&lt;br /&gt;
# Click &#039;&#039;&#039;Calculate&#039;&#039;&#039;. A quotation is displayed along with a break down of the costs.&lt;br /&gt;
# Quotation saved in administration.&lt;br /&gt;
# Happy with quotation? Click here to Book the delivery.&lt;br /&gt;
# Customer books the service.&lt;br /&gt;
#Booking sent to administration.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
All 2.8 million postcodes are included, from England, Scotland and Wales.&lt;br /&gt;
&lt;br /&gt;
The database, an .sql file, was incredibly difficult to refine to the point where it was possible to upload, its current size is 88MB, was reduced from an initial 1.2GB.&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
* UK postcode format (server + client).&lt;br /&gt;
* Numeric bounds for miles, rates, and surcharges.&lt;br /&gt;
* Permission checks on pricing endpoints (only Admin may change settings).&lt;br /&gt;
* Rate limiting on public calculator to prevent abuse.&lt;br /&gt;
&lt;br /&gt;
== Caching &amp;amp; Performance ==&lt;br /&gt;
* Postcode → lat/lon cached in &#039;&#039;&#039;postcode_cache&#039;&#039;&#039; (TTL configurable).&lt;br /&gt;
* Distance calculation memoised for last N lookups.&lt;br /&gt;
* Enable &#039;&#039;&#039;Preserve log&#039;&#039;&#039; in DevTools when debugging Network requests.&lt;br /&gt;
* Consider CDN caching for static calculator assets.&lt;br /&gt;
&lt;br /&gt;
== Errors &amp;amp; Troubleshooting ==&lt;br /&gt;
* &#039;&#039;&#039;“No price returned”&#039;&#039;&#039; Only 2 possibilities, 1. The user entered the postcode with a space, or a customization of the quote_calc_save.php file.&lt;br /&gt;
* &#039;&#039;&#039;“Feels slow”&#039;&#039;&#039; Because Google Routes plans the route using roads (not as the crow flies), destinations a long way from your depot will take longer to calculate, thus the quote takes longer to appear - this is normal.&lt;br /&gt;
* &#039;&#039;&#039;“Google Error message”&#039;&#039;&#039; Almost always due to adding the API Key incorrectly - the only fix is changing via the database (phpMyAdmin).&lt;br /&gt;
* Provide a full report using [[Troubleshooting|How to Report an Issue]].&lt;br /&gt;
&lt;br /&gt;
== Admin Tips ==&lt;br /&gt;
* Review minimum charge and rounding quarterly.&lt;br /&gt;
* Keep diesel price updated weekly.&lt;br /&gt;
* Use discount codes sparingly; prefer fixed-price overrides for special jobs.&lt;br /&gt;
* Add London/ULEZ/C-Charge as separate line items to keep audits clean.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* &#039;&#039;&#039;Can I include return mileage?&#039;&#039;&#039; Yes, the calculator is set up for the total journey distance - why would we only charge for half the journey?&lt;br /&gt;
* &#039;&#039;&#039;Do customers see line items?&#039;&#039;&#039; Public view a full breakdown of the cost by default, this can be modified. Admin can see what&#039;s important (Name, Phone &amp;amp; email, postcode, distance and price.&lt;br /&gt;
* &#039;&#039;&#039;How do I change the settings?&#039;&#039;&#039; Watch the video below for a full explanation.&lt;br /&gt;
* &#039;&#039;&#039;Why does the mileage seem high?&#039;&#039;&#039; The journey distance is for there and back.&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* &#039;&#039;&#039;v1.8.7&#039;&#039;&#039; – UI polish, faster list rendering, clearer errors on failed POD upload; minor rounding fixes in PDFs (see Release Notes).&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
&lt;br /&gt;
A few additions in the pipeline, both UI and functionality improvements - see Logistack development [[Roadmap]] for more info.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Bookings Module]]&lt;br /&gt;
* [[Jobs Module]]&lt;br /&gt;
* [[Invoices Module]]&lt;br /&gt;
* [[Customer Access Module]]&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=181</id>
		<title>Quote Calculator</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=181"/>
		<updated>2025-10-14T03:16:11Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Errors &amp;amp; Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
See the video below for a demo on how this module works and how to edit the calculation factors.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
The Quote Calculator provides a highly accurate cost of delivery, in real time from a postcode. It combines distance, fuel, labour, and regional surcharges (e.g., London/ULEZ/C-Charge), and then produces a customer-facing price with transparent line items.&lt;br /&gt;
&lt;br /&gt;
== Audience ==&lt;br /&gt;
* &#039;&#039;&#039;Admins:&#039;&#039;&#039; configure pricing, surcharges, and rules.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; generate quick quotes for callers.&lt;br /&gt;
* &#039;&#039;&#039;Customers:&#039;&#039;&#039; Self-serve accurate quotes via the website.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
* Distance-based pricing from depot to destination and return.&lt;br /&gt;
* Cost model: fuel (mpg × diesel £/L), labour £/hr, base fee, per-mile, and regional surcharges.&lt;br /&gt;
* All quotes requests are record in administration along with customer phone and email for easy follow up.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
All values below are configurable in Settings.&lt;br /&gt;
&lt;br /&gt;
=== Core Cost Parameters ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Depot postcode:&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;CO64FH&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Base fee (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;25.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Per-mile rate (£/mile):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.10&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Labour rate (£/hr):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;17.50&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Diesel price (£/L):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.42&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Vehicle MPG (UK):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;38.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Regional Surcharges ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;London surcharge (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;50.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;ULEZ / Congestion:&#039;&#039;&#039; fixed amounts or pass-through (configurable)&lt;br /&gt;
* &#039;&#039;&#039;Dartford Crossing&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;London Tunnels&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Presentation ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;VAT behaviour:&#039;&#039;&#039; include/exclude&lt;br /&gt;
* &#039;&#039;&#039;Discount codes:&#039;&#039;&#039; applied when creating an invoice&lt;br /&gt;
&lt;br /&gt;
== Price Formula (reference) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
distance_miles   = route_distance(from=Depot, to=Postcode[, return=true|false])&lt;br /&gt;
&lt;br /&gt;
fuel_litres      = (distance_miles / vehicle_mpg_uk) * 4.546&lt;br /&gt;
fuel_cost        = fuel_litres * diesel_price_per_litre&lt;br /&gt;
&lt;br /&gt;
labour_hours     = ( (distance_miles / avg_mph) + (loading_minutes/60) ) * crew_count&lt;br /&gt;
labour_cost      = labour_hours * labour_rate_per_hour&lt;br /&gt;
&lt;br /&gt;
mileage_cost     = distance_miles * per_mile_rate&lt;br /&gt;
surcharges_total = london_surcharge + ulez + congestion + extras&lt;br /&gt;
&lt;br /&gt;
subtotal         = base_fee + mileage_cost + fuel_cost + labour_cost + surcharges_total&lt;br /&gt;
subtotal         = max(subtotal, minimum_charge)&lt;br /&gt;
price_rounded    = apply_rounding(subtotal)&lt;br /&gt;
final_price      = apply_vat(price_rounded)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example (illustrative):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Depot CO6 4FH → SW1A 1AA (one-way 68 mi), MPG 38, Diesel £1.42/L&lt;br /&gt;
fuel_litres ≈ (68 / 38) * 4.546 = 8.13 L&lt;br /&gt;
fuel_cost   ≈ 8.13 * 1.42 = £11.55&lt;br /&gt;
mileage     = 68 * £1.10 = £74.80&lt;br /&gt;
labour      = 2.0 hrs * £17.50 = £35.00   (example)&lt;br /&gt;
surcharges  = London £50.00&lt;br /&gt;
subtotal    = base £25 + £74.80 + £11.55 + £35 + £50 = £196.35 → rounded to £195/£200 per rule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* &#039;&#039;&#039;Admin:&#039;&#039;&#039; can configure pricing, view logs, export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Manager:&#039;&#039;&#039; can view logs and export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; can create quotes&lt;br /&gt;
* &#039;&#039;&#039;Customer / visitors:&#039;&#039;&#039; can generate quotes.&lt;br /&gt;
&lt;br /&gt;
== User Flow ==&lt;br /&gt;
# Enter destination postcode (no space e.g. CO43FH).&lt;br /&gt;
# Click &#039;&#039;&#039;Calculate&#039;&#039;&#039;. A quotation is displayed along with a break down of the costs.&lt;br /&gt;
# Quotation saved in administration.&lt;br /&gt;
# Happy with quotation? Click here to Book the delivery.&lt;br /&gt;
# Customer books the service.&lt;br /&gt;
#Booking sent to administration.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
All 2.8 million postcodes are included, from England, Scotland and Wales.&lt;br /&gt;
&lt;br /&gt;
The database, an .sql file, was incredibly difficult to refine to the point where it was possible to upload, its current size is 88MB, was reduced from an initial 1.2GB.&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
* UK postcode format (server + client).&lt;br /&gt;
* Numeric bounds for miles, rates, and surcharges.&lt;br /&gt;
* Permission checks on pricing endpoints (only Admin may change settings).&lt;br /&gt;
* Rate limiting on public calculator to prevent abuse.&lt;br /&gt;
&lt;br /&gt;
== Caching &amp;amp; Performance ==&lt;br /&gt;
* Postcode → lat/lon cached in &#039;&#039;&#039;postcode_cache&#039;&#039;&#039; (TTL configurable).&lt;br /&gt;
* Distance calculation memoised for last N lookups.&lt;br /&gt;
* Enable &#039;&#039;&#039;Preserve log&#039;&#039;&#039; in DevTools when debugging Network requests.&lt;br /&gt;
* Consider CDN caching for static calculator assets.&lt;br /&gt;
&lt;br /&gt;
== Errors &amp;amp; Troubleshooting ==&lt;br /&gt;
* &#039;&#039;&#039;“No price returned”&#039;&#039;&#039; Only 2 possibilities, 1. The user entered the postcode with a space, or a customization of the quote_calc_save.php file.&lt;br /&gt;
* &#039;&#039;&#039;“Feels slow”&#039;&#039;&#039; Because Google Routes plans the route using roads (not as the crow flies), destinations a long way from your depot will take longer to calculate, thus the quote takes longer to appear - this is normal.&lt;br /&gt;
* &#039;&#039;&#039;“Google Error message”&#039;&#039;&#039; Almost always due to adding the API Key incorrectly - the only fix is changing via the database (phpMyAdmin).&lt;br /&gt;
* Provide a full report using [[How to Report an Issue|Troubleshooting]].&lt;br /&gt;
&lt;br /&gt;
== Admin Tips ==&lt;br /&gt;
* Review minimum charge and rounding quarterly.&lt;br /&gt;
* Keep diesel price updated weekly.&lt;br /&gt;
* Use discount codes sparingly; prefer fixed-price overrides for special jobs.&lt;br /&gt;
* Add London/ULEZ/C-Charge as separate line items to keep audits clean.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* &#039;&#039;&#039;Can I include return mileage?&#039;&#039;&#039; Yes, the calculator is set up for the total journey distance - why would we only charge for half the journey?&lt;br /&gt;
* &#039;&#039;&#039;Do customers see line items?&#039;&#039;&#039; Public view a full breakdown of the cost by default, this can be modified. Admin can see what&#039;s important (Name, Phone &amp;amp; email, postcode, distance and price.&lt;br /&gt;
* &#039;&#039;&#039;How do I change the settings?&#039;&#039;&#039; Watch the video below for a full explanation.&lt;br /&gt;
* &#039;&#039;&#039;Why does the mileage seem high?&#039;&#039;&#039; The journey distance is for there and back.&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* &#039;&#039;&#039;v1.8.7&#039;&#039;&#039; – UI polish, faster list rendering, clearer errors on failed POD upload; minor rounding fixes in PDFs (see Release Notes).&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
&lt;br /&gt;
A few additions in the pipeline, both UI and functionality improvements - see Logistack development [[Roadmap]] for more info.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Bookings Module]]&lt;br /&gt;
* [[Jobs Module]]&lt;br /&gt;
* [[Invoices Module]]&lt;br /&gt;
* [[Customer Access Module]]&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=180</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=180"/>
		<updated>2025-10-14T03:14:26Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* How to Report an Issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logistack is stable software with many months of development and testing. I&#039;ve installed on several environments, both locally and externally, and it should under most circumstances perform perfectly without error. That said, the software, being mostly a back-end platform, includes error reporting code that will create a a snippet of code at the top of the page, giving the reason why the error occurred.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Do not attempt to edit any core (back-end) .php files,&amp;lt;/span&amp;gt; it is a fragile language that will, cause an error, and the inability to view the affected page.&lt;br /&gt;
&lt;br /&gt;
== Reporting Errors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Do not, under any circumstance&amp;lt;/span&amp;gt;, post PHP errors at our GitHub support, doing this can lead to the hijacking of your website!&lt;br /&gt;
&lt;br /&gt;
== How to Report an Issue ==&lt;br /&gt;
&lt;br /&gt;
Logistack includes a detailed error reporting mechanism, that uses the 500 error page.&lt;br /&gt;
&lt;br /&gt;
Whenever there&#039;s a significant error, or in some circumstances a warning, an error log is created, and the error is shown on that page.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to be logged as an admin to see this page, all non-admins are redirected to a page asking them to report the incident.&lt;br /&gt;
&lt;br /&gt;
In the first instance, copy this message, create a new issue at the GitHub Community, and paste the message.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Remove the path&amp;lt;/span&amp;gt;, just leaving the file name.&lt;br /&gt;
&lt;br /&gt;
Visit support @ https://github.com/venture-logistics/logistack/issues&lt;br /&gt;
&lt;br /&gt;
== Using Developer Tools ==&lt;br /&gt;
&lt;br /&gt;
Amazing tool that makes debugging a lot easier.&lt;br /&gt;
&lt;br /&gt;
For a video guide on how to use developer tools, see [[Developer Tools Guide]]&lt;br /&gt;
&lt;br /&gt;
== Privacy &amp;amp; Security ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Never share API keys, cookies, Authorization headers, or a full JSON Web Token&amp;lt;/span&amp;gt; - not even with me!&lt;br /&gt;
* Mask secrets like: &amp;lt;code&amp;gt;sk-****last4&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Remove personal data unless it is essential to reproduce the issue.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Accessing_GitHub_Community&amp;diff=179</id>
		<title>Accessing GitHub Community</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Accessing_GitHub_Community&amp;diff=179"/>
		<updated>2025-10-14T03:12:11Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Support Overview ==&lt;br /&gt;
&lt;br /&gt;
Personalized support is provided as standard to everyone. It&#039;s provided by me, the developer, so you&#039;re guaranteed to receive amazing support, I created the software, who knows it better than me? &lt;br /&gt;
&lt;br /&gt;
At present, while Logistack is slowly becoming more popular, I don&#039;t make enough from it to make it a full-time profession, so I still work as a courier, delivering items across mostly England. I start early mornings (5-6AM), and am normally home by 2PM - obviously this impacts support.&lt;br /&gt;
&lt;br /&gt;
== Support Times ==&lt;br /&gt;
&lt;br /&gt;
Generally below, but with caveats.&lt;br /&gt;
&lt;br /&gt;
* Week day support from between 4PM and 10PM, Monday to Friday.&lt;br /&gt;
* Weekend support from between 10AM to 10PM Saturday.&lt;br /&gt;
* Weekend support from between 2PM to 6PM Sunday.&lt;br /&gt;
&lt;br /&gt;
== Support Caveats ==&lt;br /&gt;
&lt;br /&gt;
* Almost all support through our GitHub Community.&lt;br /&gt;
* Business critical issues by phone initially, if there&#039;s no answer (because I&#039;m driving) leave a message, I&#039;ll see your call, and stop when safe, and provide basic help. Once I&#039;m home, I&#039;ll call back, and we can solve the issue then.&lt;br /&gt;
&lt;br /&gt;
== Accessing the Community ==&lt;br /&gt;
&lt;br /&gt;
Once your order has completed, I&#039;ll receive an email and send you an invitation to join.&lt;br /&gt;
&lt;br /&gt;
The community is completely private, available to only those invited, so it&#039;s a friendly and professional environment.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Access support [https://github.com/venture-logistics/logistack/issues here]&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Accessing_GitHub_Community&amp;diff=178</id>
		<title>Accessing GitHub Community</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Accessing_GitHub_Community&amp;diff=178"/>
		<updated>2025-10-14T03:10:34Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Accessing the Community */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Support Overview ==&lt;br /&gt;
&lt;br /&gt;
Personalized support is provided as standard to everyone. It&#039;s provided by me, the developer, so you&#039;re guaranteed to receive amazing support, I created the software, who knows it better than me? &lt;br /&gt;
&lt;br /&gt;
At present, while Logistack is slowly becoming more popular, I don&#039;t make enough from it to make it a full-time profession, so I still work as a courier, delivering items across mostly England. I start early mornings (5-6AM), and am normally home by 2PM - obviously this impacts support.&lt;br /&gt;
&lt;br /&gt;
== Support Times ==&lt;br /&gt;
&lt;br /&gt;
Generally below, but with caveats.&lt;br /&gt;
&lt;br /&gt;
* Week day support from between 4PM and 10PM, Monday to Friday.&lt;br /&gt;
* Weekend support from between 10AM to 10PM Saturday.&lt;br /&gt;
* Weekend support from between 2PM to 6PM Sunday.&lt;br /&gt;
&lt;br /&gt;
== Support Caveats ==&lt;br /&gt;
&lt;br /&gt;
* Almost all support through our GitHub Community.&lt;br /&gt;
* Business critical issues by phone initially, if there&#039;s no answer (because I&#039;m driving) leave a message, I&#039;ll see your call, and stop when safe, and provide basic help. Once I&#039;m home, I&#039;ll call back, and we can solve the issue then.&lt;br /&gt;
&lt;br /&gt;
== Accessing the Community ==&lt;br /&gt;
&lt;br /&gt;
Once your order has completed, I&#039;ll receive an email and send you an invitation to join.&lt;br /&gt;
&lt;br /&gt;
The community is completely private, available to only those invited, so it&#039;s a friendly and professional environment.&lt;br /&gt;
&lt;br /&gt;
Access support &amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;[https://github.com/venture-logistics/logistack/issues here]&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=177</id>
		<title>Quote Calculator</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=177"/>
		<updated>2025-10-14T03:07:33Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
See the video below for a demo on how this module works and how to edit the calculation factors.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
The Quote Calculator provides a highly accurate cost of delivery, in real time from a postcode. It combines distance, fuel, labour, and regional surcharges (e.g., London/ULEZ/C-Charge), and then produces a customer-facing price with transparent line items.&lt;br /&gt;
&lt;br /&gt;
== Audience ==&lt;br /&gt;
* &#039;&#039;&#039;Admins:&#039;&#039;&#039; configure pricing, surcharges, and rules.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; generate quick quotes for callers.&lt;br /&gt;
* &#039;&#039;&#039;Customers:&#039;&#039;&#039; Self-serve accurate quotes via the website.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
* Distance-based pricing from depot to destination and return.&lt;br /&gt;
* Cost model: fuel (mpg × diesel £/L), labour £/hr, base fee, per-mile, and regional surcharges.&lt;br /&gt;
* All quotes requests are record in administration along with customer phone and email for easy follow up.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
All values below are configurable in Settings.&lt;br /&gt;
&lt;br /&gt;
=== Core Cost Parameters ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Depot postcode:&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;CO64FH&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Base fee (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;25.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Per-mile rate (£/mile):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.10&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Labour rate (£/hr):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;17.50&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Diesel price (£/L):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.42&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Vehicle MPG (UK):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;38.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Regional Surcharges ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;London surcharge (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;50.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;ULEZ / Congestion:&#039;&#039;&#039; fixed amounts or pass-through (configurable)&lt;br /&gt;
* &#039;&#039;&#039;Dartford Crossing&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;London Tunnels&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Presentation ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;VAT behaviour:&#039;&#039;&#039; include/exclude&lt;br /&gt;
* &#039;&#039;&#039;Discount codes:&#039;&#039;&#039; applied when creating an invoice&lt;br /&gt;
&lt;br /&gt;
== Price Formula (reference) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
distance_miles   = route_distance(from=Depot, to=Postcode[, return=true|false])&lt;br /&gt;
&lt;br /&gt;
fuel_litres      = (distance_miles / vehicle_mpg_uk) * 4.546&lt;br /&gt;
fuel_cost        = fuel_litres * diesel_price_per_litre&lt;br /&gt;
&lt;br /&gt;
labour_hours     = ( (distance_miles / avg_mph) + (loading_minutes/60) ) * crew_count&lt;br /&gt;
labour_cost      = labour_hours * labour_rate_per_hour&lt;br /&gt;
&lt;br /&gt;
mileage_cost     = distance_miles * per_mile_rate&lt;br /&gt;
surcharges_total = london_surcharge + ulez + congestion + extras&lt;br /&gt;
&lt;br /&gt;
subtotal         = base_fee + mileage_cost + fuel_cost + labour_cost + surcharges_total&lt;br /&gt;
subtotal         = max(subtotal, minimum_charge)&lt;br /&gt;
price_rounded    = apply_rounding(subtotal)&lt;br /&gt;
final_price      = apply_vat(price_rounded)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example (illustrative):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Depot CO6 4FH → SW1A 1AA (one-way 68 mi), MPG 38, Diesel £1.42/L&lt;br /&gt;
fuel_litres ≈ (68 / 38) * 4.546 = 8.13 L&lt;br /&gt;
fuel_cost   ≈ 8.13 * 1.42 = £11.55&lt;br /&gt;
mileage     = 68 * £1.10 = £74.80&lt;br /&gt;
labour      = 2.0 hrs * £17.50 = £35.00   (example)&lt;br /&gt;
surcharges  = London £50.00&lt;br /&gt;
subtotal    = base £25 + £74.80 + £11.55 + £35 + £50 = £196.35 → rounded to £195/£200 per rule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* &#039;&#039;&#039;Admin:&#039;&#039;&#039; can configure pricing, view logs, export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Manager:&#039;&#039;&#039; can view logs and export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; can create quotes&lt;br /&gt;
* &#039;&#039;&#039;Customer / visitors:&#039;&#039;&#039; can generate quotes.&lt;br /&gt;
&lt;br /&gt;
== User Flow ==&lt;br /&gt;
# Enter destination postcode (no space e.g. CO43FH).&lt;br /&gt;
# Click &#039;&#039;&#039;Calculate&#039;&#039;&#039;. A quotation is displayed along with a break down of the costs.&lt;br /&gt;
# Quotation saved in administration.&lt;br /&gt;
# Happy with quotation? Click here to Book the delivery.&lt;br /&gt;
# Customer books the service.&lt;br /&gt;
#Booking sent to administration.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
All 2.8 million postcodes are included, from England, Scotland and Wales.&lt;br /&gt;
&lt;br /&gt;
The database, an .sql file, was incredibly difficult to refine to the point where it was possible to upload, its current size is 88MB, was reduced from an initial 1.2GB.&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
* UK postcode format (server + client).&lt;br /&gt;
* Numeric bounds for miles, rates, and surcharges.&lt;br /&gt;
* Permission checks on pricing endpoints (only Admin may change settings).&lt;br /&gt;
* Rate limiting on public calculator to prevent abuse.&lt;br /&gt;
&lt;br /&gt;
== Caching &amp;amp; Performance ==&lt;br /&gt;
* Postcode → lat/lon cached in &#039;&#039;&#039;postcode_cache&#039;&#039;&#039; (TTL configurable).&lt;br /&gt;
* Distance calculation memoised for last N lookups.&lt;br /&gt;
* Enable &#039;&#039;&#039;Preserve log&#039;&#039;&#039; in DevTools when debugging Network requests.&lt;br /&gt;
* Consider CDN caching for static calculator assets.&lt;br /&gt;
&lt;br /&gt;
== Errors &amp;amp; Troubleshooting ==&lt;br /&gt;
* &#039;&#039;&#039;“No price returned”&#039;&#039;&#039; Only 2 possibilities, 1. The user entered the postcode with a space, or a customization of the quote_calc_save.php file.&lt;br /&gt;
* &#039;&#039;&#039;“Feels slow”&#039;&#039;&#039; Because Google Routes plans the route using roads (not as the crow flies), destinations a long way from your depot will take longer to calculate, thus the quote takes longer to appear - this is normal.&lt;br /&gt;
* &#039;&#039;&#039;“Google Error message”&#039;&#039;&#039; Almost always due to adding the API Key incorrectly - the only fix is changing via the database (phpMyAdmin).&lt;br /&gt;
* Provide a full report using [[How to Report an Issue]].&lt;br /&gt;
&lt;br /&gt;
== Admin Tips ==&lt;br /&gt;
* Review minimum charge and rounding quarterly.&lt;br /&gt;
* Keep diesel price updated weekly.&lt;br /&gt;
* Use discount codes sparingly; prefer fixed-price overrides for special jobs.&lt;br /&gt;
* Add London/ULEZ/C-Charge as separate line items to keep audits clean.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* &#039;&#039;&#039;Can I include return mileage?&#039;&#039;&#039; Yes, the calculator is set up for the total journey distance - why would we only charge for half the journey?&lt;br /&gt;
* &#039;&#039;&#039;Do customers see line items?&#039;&#039;&#039; Public view a full breakdown of the cost by default, this can be modified. Admin can see what&#039;s important (Name, Phone &amp;amp; email, postcode, distance and price.&lt;br /&gt;
* &#039;&#039;&#039;How do I change the settings?&#039;&#039;&#039; Watch the video below for a full explanation.&lt;br /&gt;
* &#039;&#039;&#039;Why does the mileage seem high?&#039;&#039;&#039; The journey distance is for there and back.&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* &#039;&#039;&#039;v1.8.7&#039;&#039;&#039; – UI polish, faster list rendering, clearer errors on failed POD upload; minor rounding fixes in PDFs (see Release Notes).&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
&lt;br /&gt;
A few additions in the pipeline, both UI and functionality improvements - see Logistack development [[Roadmap]] for more info.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Bookings Module]]&lt;br /&gt;
* [[Jobs Module]]&lt;br /&gt;
* [[Invoices Module]]&lt;br /&gt;
* [[Customer Access Module]]&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=176</id>
		<title>Quote Calculator</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Quote_Calculator&amp;diff=176"/>
		<updated>2025-10-14T01:11:32Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Validation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quote Calculator Module =&lt;br /&gt;
&lt;br /&gt;
See the video below for a demo on how this module works and how to edit the calculation factors.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
The Quote Calculator provides a highly accurate cost of delivery, in real time from a postcode. It combines distance, fuel, labour, and regional surcharges (e.g., London/ULEZ/C-Charge), and then produces a customer-facing price with transparent line items.&lt;br /&gt;
&lt;br /&gt;
== Audience ==&lt;br /&gt;
* &#039;&#039;&#039;Admins:&#039;&#039;&#039; configure pricing, surcharges, and rules.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; generate quick quotes for callers.&lt;br /&gt;
* &#039;&#039;&#039;Customers:&#039;&#039;&#039; Self-serve accurate quotes via the website.&lt;br /&gt;
&lt;br /&gt;
== Capabilities ==&lt;br /&gt;
* Distance-based pricing from depot to destination and return.&lt;br /&gt;
* Cost model: fuel (mpg × diesel £/L), labour £/hr, base fee, per-mile, and regional surcharges.&lt;br /&gt;
* All quotes requests are record in administration along with customer phone and email for easy follow up.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
All values below are configurable in Settings.&lt;br /&gt;
&lt;br /&gt;
=== Core Cost Parameters ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Depot postcode:&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;CO64FH&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Base fee (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;25.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Per-mile rate (£/mile):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.10&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Labour rate (£/hr):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;17.50&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Diesel price (£/L):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;1.42&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Vehicle MPG (UK):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;38.0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Regional Surcharges ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;London surcharge (£):&#039;&#039;&#039; e.g., &amp;lt;code&amp;gt;50.00&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;ULEZ / Congestion:&#039;&#039;&#039; fixed amounts or pass-through (configurable)&lt;br /&gt;
* &#039;&#039;&#039;Dartford Crossing&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;London Tunnels&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Presentation ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;VAT behaviour:&#039;&#039;&#039; include/exclude&lt;br /&gt;
* &#039;&#039;&#039;Discount codes:&#039;&#039;&#039; applied when creating an invoice&lt;br /&gt;
&lt;br /&gt;
== Price Formula (reference) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
distance_miles   = route_distance(from=Depot, to=Postcode[, return=true|false])&lt;br /&gt;
&lt;br /&gt;
fuel_litres      = (distance_miles / vehicle_mpg_uk) * 4.546&lt;br /&gt;
fuel_cost        = fuel_litres * diesel_price_per_litre&lt;br /&gt;
&lt;br /&gt;
labour_hours     = ( (distance_miles / avg_mph) + (loading_minutes/60) ) * crew_count&lt;br /&gt;
labour_cost      = labour_hours * labour_rate_per_hour&lt;br /&gt;
&lt;br /&gt;
mileage_cost     = distance_miles * per_mile_rate&lt;br /&gt;
surcharges_total = london_surcharge + ulez + congestion + extras&lt;br /&gt;
&lt;br /&gt;
subtotal         = base_fee + mileage_cost + fuel_cost + labour_cost + surcharges_total&lt;br /&gt;
subtotal         = max(subtotal, minimum_charge)&lt;br /&gt;
price_rounded    = apply_rounding(subtotal)&lt;br /&gt;
final_price      = apply_vat(price_rounded)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example (illustrative):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Depot CO6 4FH → SW1A 1AA (one-way 68 mi), MPG 38, Diesel £1.42/L&lt;br /&gt;
fuel_litres ≈ (68 / 38) * 4.546 = 8.13 L&lt;br /&gt;
fuel_cost   ≈ 8.13 * 1.42 = £11.55&lt;br /&gt;
mileage     = 68 * £1.10 = £74.80&lt;br /&gt;
labour      = 2.0 hrs * £17.50 = £35.00   (example)&lt;br /&gt;
surcharges  = London £50.00&lt;br /&gt;
subtotal    = base £25 + £74.80 + £11.55 + £35 + £50 = £196.35 → rounded to £195/£200 per rule&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
* &#039;&#039;&#039;Admin:&#039;&#039;&#039; can configure pricing, view logs, export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Manager:&#039;&#039;&#039; can view logs and export quotes.&lt;br /&gt;
* &#039;&#039;&#039;Staff:&#039;&#039;&#039; can create quotes&lt;br /&gt;
* &#039;&#039;&#039;Customer / visitors:&#039;&#039;&#039; can generate quotes.&lt;br /&gt;
&lt;br /&gt;
== User Flow ==&lt;br /&gt;
# Enter destination postcode (no space e.g. CO43FH).&lt;br /&gt;
# Click &#039;&#039;&#039;Calculate&#039;&#039;&#039;. A quotation is displayed along with a break down of the costs.&lt;br /&gt;
# Quotation saved in administration.&lt;br /&gt;
# Happy with quotation? Click here to Book the delivery.&lt;br /&gt;
# Customer books the service.&lt;br /&gt;
#Booking sent to administration.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
All 2.8 million postcodes are included, from England, Scotland and Wales.&lt;br /&gt;
&lt;br /&gt;
The database, an .sql file, was incredibly difficult to refine to the point where it was possible to upload, its current size is 88MB, was reduced from an initial 1.2GB.&lt;br /&gt;
&lt;br /&gt;
== Validation ==&lt;br /&gt;
* UK postcode format (server + client).&lt;br /&gt;
* Numeric bounds for miles, rates, and surcharges.&lt;br /&gt;
* Permission checks on pricing endpoints (only Admin may change settings).&lt;br /&gt;
* Rate limiting on public calculator to prevent abuse.&lt;br /&gt;
&lt;br /&gt;
== Caching &amp;amp; Performance ==&lt;br /&gt;
* Postcode → lat/lon cached in &#039;&#039;&#039;postcode_cache&#039;&#039;&#039; (TTL configurable).&lt;br /&gt;
* Distance calculation memoised for last N lookups.&lt;br /&gt;
* Enable &#039;&#039;&#039;Preserve log&#039;&#039;&#039; in DevTools when debugging Network requests.&lt;br /&gt;
* Consider CDN caching for static calculator assets.&lt;br /&gt;
&lt;br /&gt;
== Errors &amp;amp; Troubleshooting ==&lt;br /&gt;
* &#039;&#039;&#039;“No price returned”&#039;&#039;&#039; Only 2 possibilities, 1. The user entered the postcode with a space, or a customization of the quote_calc_save.php file.&lt;br /&gt;
* &#039;&#039;&#039;“Feels slow”&#039;&#039;&#039; Because Google Routes plans the route using roads (not as the crow flies), destinations a long way from your depot will take longer to calculate, thus the quote takes longer to appear - this is normal.&lt;br /&gt;
* &#039;&#039;&#039;“Google Error message”&#039;&#039;&#039; Almost always due to adding the API Key incorrectly - the only fix is changing via the database (phpMyAdmin).&lt;br /&gt;
* Provide a full report using [[How to Report an Issue]].&lt;br /&gt;
&lt;br /&gt;
== Admin Tips ==&lt;br /&gt;
* Review minimum charge and rounding quarterly.&lt;br /&gt;
* Keep diesel price updated weekly.&lt;br /&gt;
* Use discount codes sparingly; prefer fixed-price overrides for special jobs.&lt;br /&gt;
* Add London/ULEZ/C-Charge as separate line items to keep audits clean.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
* &#039;&#039;&#039;Can I include return mileage?&#039;&#039;&#039; Yes—toggle “Include return” in settings.&lt;br /&gt;
* &#039;&#039;&#039;Do customers see line items?&#039;&#039;&#039; Public view shows simplified items; staff see full breakdown.&lt;br /&gt;
* &#039;&#039;&#039;How do I change the base fee?&#039;&#039;&#039; Settings → Pricing → Base fee.&lt;br /&gt;
* &#039;&#039;&#039;Why does my mileage seem high?&#039;&#039;&#039; Ensure route mode is “road network,” not straight-line; clear cache and retry.&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
* &#039;&#039;&#039;v1.8.7&#039;&#039;&#039; – UI polish, faster list rendering, clearer errors on failed POD upload; minor rounding fixes in PDFs (see Release Notes).&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
&lt;br /&gt;
A few additions in the pipeline, both UI and functionality improvements - see Logistack development [[Roadmap]] for more info.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Bookings Module]]&lt;br /&gt;
* [[Jobs Module]]&lt;br /&gt;
* [[Invoices Module]]&lt;br /&gt;
* [[Customer Access Module]]&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Android_Installation&amp;diff=175</id>
		<title>Android Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Android_Installation&amp;diff=175"/>
		<updated>2025-10-14T01:09:14Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose == &lt;br /&gt;
&lt;br /&gt;
Install the Logistack Driver app on company-owned Android devices.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
Android 10+ (recommended 12+).&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;br /&gt;
&lt;br /&gt;
Development ongoing&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Main_Page&amp;diff=174</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Main_Page&amp;diff=174"/>
		<updated>2025-10-14T01:04:19Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Logistack is an end-to-end logistics software suite — a lightweight, PHP/MySQL platform that helps couriers, man with van operations and smaller haulage companies, run quotes, bookings, jobs, POD uploads, invoicing, and customer communication from one place.&lt;br /&gt;
&lt;br /&gt;
= LogiStack Documentation =&lt;br /&gt;
&lt;br /&gt;
Welcome to the Logistack knowledge base. This private wiki contains how-tos, admin guides, and integration docs for the Logistack platform.&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Area !! Page !! What you’ll find&lt;br /&gt;
|-&lt;br /&gt;
| Requirements || [[Logistack Requirements]] || Required server environment.&lt;br /&gt;
|-&lt;br /&gt;
| Installation || [[Installation Guide]] || Installing Logistack&lt;br /&gt;
|-&lt;br /&gt;
| Post Install || [[Post Install Setup]] || Things to do post install&lt;br /&gt;
|-&lt;br /&gt;
| FAQ || [[FAQ]] || Short answers to common questions&lt;br /&gt;
|-&lt;br /&gt;
| SMTP || [[SMTP Settings]] || Configure SMTP settings - sending emails and invoices&lt;br /&gt;
|-&lt;br /&gt;
| FTP || [[FTP Settings]] || used to upload certain otherwise unavailable files, e.g. SMTP&lt;br /&gt;
|-&lt;br /&gt;
| Troubleshooting || [[Troubleshooting]] || Error messages, checklists, and known fixes&lt;br /&gt;
|-&lt;br /&gt;
| Release notes || [[Release notes/2025]] || What’s new, changes, and fixes&lt;br /&gt;
|-&lt;br /&gt;
| Issues / module creation || [[Current Issues]] || What we&#039;re working on now or improving&lt;br /&gt;
|-&lt;br /&gt;
| Roadmap || [[Roadmap]] || What we&#039;re planning for the future&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Key capabilities ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mobile App&#039;&#039;&#039; – Currently under development, we&#039;re creating Android and IOS apps - see more on [[Logistack Mobile]]&lt;br /&gt;
* &#039;&#039;&#039;Page Builder&#039;&#039;&#039; – A light weight and powerful front end page builder, that provides easy SEO crafting - see more on [[Page Builder]]&lt;br /&gt;
* &#039;&#039;&#039;Auto Quotation&#039;&#039;&#039; – Using data from your costs (MPG, Depot location, average speed and diesel cost) - see more on [[Quote Calculator]]&lt;br /&gt;
* &#039;&#039;&#039;Online Bookings&#039;&#039;&#039; – Online booking module, that customer complete, detail available in Administration - see more on [[Booking Module]]&lt;br /&gt;
* &#039;&#039;&#039;AI Support&#039;&#039;&#039; – A bot (using GPTs 4.1-mini model), programmable using a .json file, easily customized to your business needs - see more on [[AI Module]]  &lt;br /&gt;
* &#039;&#039;&#039;Company Settings&#039;&#039;&#039; – Add company information - name, full address, phone, email etc - see more on [[Invoicing Module|Invoicing]] and [[Company Settings]]&lt;br /&gt;
* &#039;&#039;&#039;Staff Management&#039;&#039;&#039; – Can include any type of staff members - see more on [[Staff Module|Staff]], their permissions and how to add, edit or delete staff.&lt;br /&gt;
* &#039;&#039;&#039;Job Management&#039;&#039;&#039; – Add, edit and delete jobs - see more on [[Jobs Module|Jobs]]&lt;br /&gt;
* &#039;&#039;&#039;Customers&#039;&#039;&#039; – At the heart of Logistack - read article on [[Customer Module|Customers]]&lt;br /&gt;
* &#039;&#039;&#039;Drivers&#039;&#039;&#039; – Minimum access to the site, but can access jobs assigned to them and upload PODs - see more on [[Driver Module]].&lt;br /&gt;
* &#039;&#039;&#039;Staff Profiles&#039;&#039;&#039; – All team members have access to a profile, minimal information, but used for internal [[Messaging Modile|Messaging]] and [[Chat Module|Chat]].&lt;br /&gt;
* &#039;&#039;&#039;Invoice Management&#039;&#039;&#039; – create invoices once the job is marked as complete, modify costs and send direct to the customer.&lt;br /&gt;
* &#039;&#039;&#039;Quote History&#039;&#039;&#039; – Provides details of visitor and customers who use the auto quote system - see more [[Quote History]]&lt;br /&gt;
* &#039;&#039;&#039;Drivers&#039;&#039;&#039; – Minimum access to the site, but can access jobs assigned to them and upload PODs - see more on [[Drivers]].&lt;br /&gt;
* &#039;&#039;&#039;Reports&#039;&#039;&#039; – Providing information on finances (year to date, monthly etc), site use and efficiency based on visitors to bookings - see more on [[Reports]].&lt;br /&gt;
* &#039;&#039;&#039;AI History&#039;&#039;&#039; – Lead information, records email address, and the full conversation - see more on [[AI History]]&lt;br /&gt;
* &#039;&#039;&#039;Latest News&#039;&#039;&#039; – An internal news/blog to post information - see more on the [[News Module|News/Blogging]]&lt;br /&gt;
* &#039;&#039;&#039;Update Module&#039;&#039;&#039; – Provides the functionality to upload .php files, a new site logo, and a custom-overides.css file - see more on [[Update Module]]&lt;br /&gt;
* &#039;&#039;&#039;Text Editor&#039;&#039;&#039; – Edit front end pages with an easy to user toolbar - see more on [[Text Editor]]&lt;br /&gt;
* &#039;&#039;&#039;Site Settings&#039;&#039;&#039; – Used to change how page titles and header information in the browser - see more on [[Site Settings]]&lt;br /&gt;
&lt;br /&gt;
== Operational runbook ==&lt;br /&gt;
* [[Troubleshooting]] — common issues and quick checks&lt;br /&gt;
* [[Release notes/2025]] — recent updates you may need to communicate&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
&lt;br /&gt;
* Almost always report via community support - see more on how to access [[Accessing GitHub Community]]&lt;br /&gt;
* &amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;PHP errors&amp;lt;/span&amp;gt;, Always report to me via email on [http://mailto:lee@venture-logistics.co.uk lee@venture-logistics.co.uk] - &amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;NEVER&amp;lt;/span&amp;gt; include error codes publically!&lt;br /&gt;
* &amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Business critical issues&amp;lt;/span&amp;gt;, i.e. pages not displaying, entire site failures, or anything that is super critical to your operations, call me on [http://tel:+447788821121 +44 (0)77 888 211 21]&lt;br /&gt;
&lt;br /&gt;
== Policies ==&lt;br /&gt;
* [[Security and privacy]] — handling data, credentials, and devices&lt;br /&gt;
* [[Change management]] — how we roll out app changes&lt;br /&gt;
&lt;br /&gt;
== Search tips ==&lt;br /&gt;
* Use the **Search** box for page titles and text.&lt;br /&gt;
* Narrow searches by quoting phrases, e.g., `&amp;quot;Start Tracking&amp;quot;` or `&amp;quot;custom-overrides.css&amp;quot;`.&lt;br /&gt;
* Look at the bottom of pages for **Categories** to find related content.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This wiki is private to authorized users. Do not copy content externally without approval.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=173</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=173"/>
		<updated>2025-10-13T12:04:03Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Privacy &amp;amp; Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logistack is stable software with many months of development and testing. I&#039;ve installed on several environments, both locally and externally, and it should under most circumstances perform perfectly without error. That said, the software, being mostly a back-end platform, includes error reporting code that will create a a snippet of code at the top of the page, giving the reason why the error occurred.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Do not attempt to edit any core (back-end) .php files,&amp;lt;/span&amp;gt; it is a fragile language that will, cause an error, and the inability to view the affected page.&lt;br /&gt;
&lt;br /&gt;
== Reporting Errors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Do not, under any circumstance&amp;lt;/span&amp;gt;, post PHP errors at our GitHub support, doing this can lead to the hijacking of your website!&lt;br /&gt;
&lt;br /&gt;
== How to Report an Issue ==&lt;br /&gt;
&lt;br /&gt;
Logistack includes a detailed error reporting mechanism, that uses the 500 error page.&lt;br /&gt;
&lt;br /&gt;
Whenever there&#039;s a significant error, or in some circumstances a warning, an error log is created, and the error is shown on that page.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to be logged as an admin to see this page, all non-admins are redirected to a page asking them to report the incident.&lt;br /&gt;
&lt;br /&gt;
In the first instance, copy this message, create a new issue at the GitHub Community, and paste the message.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Remove the path&amp;lt;/span&amp;gt;, just leaving the file name.&lt;br /&gt;
&lt;br /&gt;
== Using Developer Tools ==&lt;br /&gt;
&lt;br /&gt;
Amazing tool that makes debugging a lot easier.&lt;br /&gt;
&lt;br /&gt;
For a video guide on how to use developer tools, see [[Developer Tools Guide]]&lt;br /&gt;
&lt;br /&gt;
== Privacy &amp;amp; Security ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Never share API keys, cookies, Authorization headers, or a full JSON Web Token&amp;lt;/span&amp;gt; - not even with me!&lt;br /&gt;
* Mask secrets like: &amp;lt;code&amp;gt;sk-****last4&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Remove personal data unless it is essential to reproduce the issue.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=172</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=172"/>
		<updated>2025-10-13T12:03:30Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logistack is stable software with many months of development and testing. I&#039;ve installed on several environments, both locally and externally, and it should under most circumstances perform perfectly without error. That said, the software, being mostly a back-end platform, includes error reporting code that will create a a snippet of code at the top of the page, giving the reason why the error occurred.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Do not attempt to edit any core (back-end) .php files,&amp;lt;/span&amp;gt; it is a fragile language that will, cause an error, and the inability to view the affected page.&lt;br /&gt;
&lt;br /&gt;
== Reporting Errors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Do not, under any circumstance&amp;lt;/span&amp;gt;, post PHP errors at our GitHub support, doing this can lead to the hijacking of your website!&lt;br /&gt;
&lt;br /&gt;
== How to Report an Issue ==&lt;br /&gt;
&lt;br /&gt;
Logistack includes a detailed error reporting mechanism, that uses the 500 error page.&lt;br /&gt;
&lt;br /&gt;
Whenever there&#039;s a significant error, or in some circumstances a warning, an error log is created, and the error is shown on that page.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to be logged as an admin to see this page, all non-admins are redirected to a page asking them to report the incident.&lt;br /&gt;
&lt;br /&gt;
In the first instance, copy this message, create a new issue at the GitHub Community, and paste the message.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Remove the path&amp;lt;/span&amp;gt;, just leaving the file name.&lt;br /&gt;
&lt;br /&gt;
== Using Developer Tools ==&lt;br /&gt;
&lt;br /&gt;
Amazing tool that makes debugging a lot easier.&lt;br /&gt;
&lt;br /&gt;
For a video guide on how to use developer tools, see [[Developer Tools Guide]]&lt;br /&gt;
&lt;br /&gt;
== Privacy &amp;amp; Security ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Never share API keys, cookies, Authorization headers, or a full JSON Web Token&#039;&#039;&#039; - not even with me!&lt;br /&gt;
* Mask secrets like: &amp;lt;code&amp;gt;sk-****last4&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Remove personal data unless it is essential to reproduce the issue.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=171</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=171"/>
		<updated>2025-10-13T11:50:20Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* How to Report an Issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logistack is stable software with many months of development and testing. I&#039;ve installed on several environments, both locally and externally, and it should under most circumstances perform perfectly without error. That said, the software, being mostly a back-end platform, includes error reporting code that will create a a snippet of code at the top of the page, giving the reason why the error occurred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not attempt to edit any core (back-end) .php files,&#039;&#039;&#039; it is a fragile language that will, cause an error, and the inability to view the affected page.&lt;br /&gt;
&lt;br /&gt;
== Reporting Errors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Do not, under any circumstance&amp;lt;/span&amp;gt;, post PHP errors at our GitHub support, doing this can lead to the hijacking of your website!&lt;br /&gt;
&lt;br /&gt;
== How to Report an Issue ==&lt;br /&gt;
&lt;br /&gt;
Logistack includes a detailed error reporting mechanism, that uses the 500 error page.&lt;br /&gt;
&lt;br /&gt;
Whenever there&#039;s a significant error, or in some circumstances a warning, an error log is created, and the error is shown on that page.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to be logged as an admin to see this page, all non-admins are redirected to a page asking them to report the incident.&lt;br /&gt;
&lt;br /&gt;
In the first instance, copy this message, create a new issue at the GitHub Community, and paste the message.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Remove the path&amp;lt;/span&amp;gt;, just leaving the file name.&lt;br /&gt;
&lt;br /&gt;
== Using Developer Tools ==&lt;br /&gt;
&lt;br /&gt;
Amazing tool that makes debugging a lot easier.&lt;br /&gt;
&lt;br /&gt;
For a video guide on how to use developer tools, see [[Developer Tools Guide]]&lt;br /&gt;
&lt;br /&gt;
== Privacy &amp;amp; Security ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Never share API keys, cookies, Authorization headers, or a full JSON Web Token&#039;&#039;&#039; - not even with me!&lt;br /&gt;
* Mask secrets like: &amp;lt;code&amp;gt;sk-****last4&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Remove personal data unless it is essential to reproduce the issue.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=170</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=170"/>
		<updated>2025-10-13T11:42:03Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&amp;amp;display=swap&#039;);&lt;br /&gt;
@import url(&#039;https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css&#039;);&lt;br /&gt;
&lt;br /&gt;
html { font-size: 18px!important; }&lt;br /&gt;
&lt;br /&gt;
body { &lt;br /&gt;
font-family: &amp;quot;Comfortaa&amp;quot;, cursive; &lt;br /&gt;
  line-height: 1.6;&lt;br /&gt;
  color: #111;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings (classic fixed sizes) */&lt;br /&gt;
h1 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 32px;   /* ~2x body */&lt;br /&gt;
  line-height: 1.2;&lt;br /&gt;
  margin: 0 0 12px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h2 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 28px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 24px 0 8px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h3 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
  margin: 20px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h4 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 20px;&lt;br /&gt;
  line-height: 1.35;&lt;br /&gt;
  margin: 16px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h5 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 18px;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  margin: 14px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h6 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 16px;   /* same as body */&lt;br /&gt;
  line-height: 1.45;&lt;br /&gt;
  margin: 12px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
code, pre {&lt;br /&gt;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
p { margin: 0 0 0.9em 0;}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-icon img,&lt;br /&gt;
.mw-logo-icon svg {&lt;br /&gt;
  width: 250px;&lt;br /&gt;
  height: 120px;&lt;br /&gt;
  object-fit: contain;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-wordmark,&lt;br /&gt;
.mw-logo-tagline {&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.skin-vector-2022 .mw-logo-wordmark img {&lt;br /&gt;
  height: 32px;   /* adjust to taste */&lt;br /&gt;
  width: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.fw-bold { font-weight: 700; }&lt;br /&gt;
.text-danger { color: #a6192e; }&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=169</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=169"/>
		<updated>2025-10-13T11:39:35Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&amp;amp;display=swap&#039;);&lt;br /&gt;
@import url(&#039;https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css&#039;);&lt;br /&gt;
&lt;br /&gt;
html { font-size: 18px!important; }&lt;br /&gt;
&lt;br /&gt;
body { &lt;br /&gt;
font-family: &amp;quot;Comfortaa&amp;quot;, cursive; &lt;br /&gt;
  line-height: 1.6;&lt;br /&gt;
  color: #111;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings (classic fixed sizes) */&lt;br /&gt;
h1 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 32px;   /* ~2x body */&lt;br /&gt;
  line-height: 1.2;&lt;br /&gt;
  margin: 0 0 12px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h2 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 28px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 24px 0 8px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h3 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
  margin: 20px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h4 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 20px;&lt;br /&gt;
  line-height: 1.35;&lt;br /&gt;
  margin: 16px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h5 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 18px;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  margin: 14px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h6 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 16px;   /* same as body */&lt;br /&gt;
  line-height: 1.45;&lt;br /&gt;
  margin: 12px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
code, pre {&lt;br /&gt;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
p { margin: 0 0 0.9em 0;}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-icon img,&lt;br /&gt;
.mw-logo-icon svg {&lt;br /&gt;
  width: 250px;&lt;br /&gt;
  height: 120px;&lt;br /&gt;
  object-fit: contain;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-wordmark,&lt;br /&gt;
.mw-logo-tagline {&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.skin-vector-2022 .mw-logo-wordmark img {&lt;br /&gt;
  height: 32px;   /* adjust to taste */&lt;br /&gt;
  width: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span .fw-bold {font-weight:700}&lt;br /&gt;
&lt;br /&gt;
span .text-danger {color:#a6192e}&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=168</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=168"/>
		<updated>2025-10-13T11:36:27Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
&amp;lt;link href=&amp;quot;https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; integrity=&amp;quot;sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB&amp;quot; crossorigin=&amp;quot;anonymous&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&amp;amp;display=swap&#039;);&lt;br /&gt;
@import url(&#039;https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css&#039;);&lt;br /&gt;
&lt;br /&gt;
html { font-size: 18px!important; }&lt;br /&gt;
&lt;br /&gt;
body { &lt;br /&gt;
font-family: &amp;quot;Comfortaa&amp;quot;, cursive; &lt;br /&gt;
  line-height: 1.6;&lt;br /&gt;
  color: #111;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings (classic fixed sizes) */&lt;br /&gt;
h1 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 32px;   /* ~2x body */&lt;br /&gt;
  line-height: 1.2;&lt;br /&gt;
  margin: 0 0 12px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h2 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 28px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 24px 0 8px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h3 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
  margin: 20px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h4 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 20px;&lt;br /&gt;
  line-height: 1.35;&lt;br /&gt;
  margin: 16px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h5 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 18px;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  margin: 14px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h6 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 16px;   /* same as body */&lt;br /&gt;
  line-height: 1.45;&lt;br /&gt;
  margin: 12px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
code, pre {&lt;br /&gt;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
p { margin: 0 0 0.9em 0;}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-icon img,&lt;br /&gt;
.mw-logo-icon svg {&lt;br /&gt;
  width: 250px;&lt;br /&gt;
  height: 120px;&lt;br /&gt;
  object-fit: contain;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-wordmark,&lt;br /&gt;
.mw-logo-tagline {&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.skin-vector-2022 .mw-logo-wordmark img {&lt;br /&gt;
  height: 32px;   /* adjust to taste */&lt;br /&gt;
  width: auto;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=167</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=167"/>
		<updated>2025-10-13T11:35:19Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Reporting Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logistack is stable software with many months of development and testing. I&#039;ve installed on several environments, both locally and externally, and it should under most circumstances perform perfectly without error. That said, the software, being mostly a back-end platform, includes error reporting code that will create a a snippet of code at the top of the page, giving the reason why the error occurred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not attempt to edit any core (back-end) .php files,&#039;&#039;&#039; it is a fragile language that will, cause an error, and the inability to view the affected page.&lt;br /&gt;
&lt;br /&gt;
== Reporting Errors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;fw-bold text-danger&amp;quot;&amp;gt;Do not, under any circumstance&amp;lt;/span&amp;gt;, post PHP errors at our GitHub support, doing this can lead to the hijacking of your website!&lt;br /&gt;
&lt;br /&gt;
== How to Report an Issue ==&lt;br /&gt;
&lt;br /&gt;
Logistack includes a detailed error reporting mechanism, that uses the 500 error page.&lt;br /&gt;
&lt;br /&gt;
Whenever there&#039;s a significant error, or in some circumstances a warning, an error log is created, and the error is shown on that page.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to be logged as an admin to see this page, all non-admins are redirected to a page asking them to report the incident.&lt;br /&gt;
&lt;br /&gt;
In the first instance, copy this message, create a new issue at the GitHub Community, and paste the message.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remove the path&#039;&#039;&#039;, just leaving the file name.&lt;br /&gt;
&lt;br /&gt;
== Using Developer Tools ==&lt;br /&gt;
&lt;br /&gt;
Amazing tool that makes debugging a lot easier.&lt;br /&gt;
&lt;br /&gt;
For a video guide on how to use developer tools, see [[Developer Tools Guide]]&lt;br /&gt;
&lt;br /&gt;
== Privacy &amp;amp; Security ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Never share API keys, cookies, Authorization headers, or a full JSON Web Token&#039;&#039;&#039; - not even with me!&lt;br /&gt;
* Mask secrets like: &amp;lt;code&amp;gt;sk-****last4&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Remove personal data unless it is essential to reproduce the issue.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=166</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=MediaWiki:Common.css&amp;diff=166"/>
		<updated>2025-10-13T11:34:17Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
&amp;lt;link href=&amp;quot;https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; integrity=&amp;quot;sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB&amp;quot; crossorigin=&amp;quot;anonymous&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@import url(&#039;https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;700&amp;amp;display=swap&#039;);&lt;br /&gt;
@import url(&#039;https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css&#039;);&lt;br /&gt;
&lt;br /&gt;
html { font-size: 18px; }&lt;br /&gt;
&lt;br /&gt;
body { &lt;br /&gt;
font-family: &amp;quot;Comfortaa&amp;quot;, cursive; &lt;br /&gt;
  line-height: 1.6;&lt;br /&gt;
  color: #111;&lt;br /&gt;
  margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Headings (classic fixed sizes) */&lt;br /&gt;
h1 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 32px;   /* ~2x body */&lt;br /&gt;
  line-height: 1.2;&lt;br /&gt;
  margin: 0 0 12px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h2 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 28px;&lt;br /&gt;
  line-height: 1.25;&lt;br /&gt;
  margin: 24px 0 8px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h3 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 24px;&lt;br /&gt;
  line-height: 1.3;&lt;br /&gt;
  margin: 20px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h4 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 20px;&lt;br /&gt;
  line-height: 1.35;&lt;br /&gt;
  margin: 16px 0 6px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h5 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 18px;&lt;br /&gt;
  line-height: 1.4;&lt;br /&gt;
  margin: 14px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
h6 {&lt;br /&gt;
  font-family: &amp;quot;Comfortaa&amp;quot;, system-ui, -apple-system, &amp;quot;Segoe UI&amp;quot;, Roboto, Arial, sans-serif;&lt;br /&gt;
  font-size: 16px;   /* same as body */&lt;br /&gt;
  line-height: 1.45;&lt;br /&gt;
  margin: 12px 0 4px;&lt;br /&gt;
  font-weight: 700;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
code, pre {&lt;br /&gt;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace;&lt;br /&gt;
  font-size: 14px;&lt;br /&gt;
  line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
p { margin: 0 0 0.9em 0;}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-icon img,&lt;br /&gt;
.mw-logo-icon svg {&lt;br /&gt;
  width: 250px;&lt;br /&gt;
  height: 120px;&lt;br /&gt;
  object-fit: contain;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-logo-wordmark,&lt;br /&gt;
.mw-logo-tagline {&lt;br /&gt;
  display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.skin-vector-2022 .mw-logo-wordmark img {&lt;br /&gt;
  height: 32px;   /* adjust to taste */&lt;br /&gt;
  width: auto;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=165</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=165"/>
		<updated>2025-10-13T11:32:35Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* How to Report an Issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logistack is stable software with many months of development and testing. I&#039;ve installed on several environments, both locally and externally, and it should under most circumstances perform perfectly without error. That said, the software, being mostly a back-end platform, includes error reporting code that will create a a snippet of code at the top of the page, giving the reason why the error occurred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not attempt to edit any core (back-end) .php files,&#039;&#039;&#039; it is a fragile language that will, cause an error, and the inability to view the affected page.&lt;br /&gt;
&lt;br /&gt;
== Reporting Errors ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not under any circumstance,&#039;&#039;&#039; post PHP errors at our GitHub support, doing this can lead to the hijacking of your website!&lt;br /&gt;
&lt;br /&gt;
== How to Report an Issue ==&lt;br /&gt;
&lt;br /&gt;
Logistack includes a detailed error reporting mechanism, that uses the 500 error page.&lt;br /&gt;
&lt;br /&gt;
Whenever there&#039;s a significant error, or in some circumstances a warning, an error log is created, and the error is shown on that page.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to be logged as an admin to see this page, all non-admins are redirected to a page asking them to report the incident.&lt;br /&gt;
&lt;br /&gt;
In the first instance, copy this message, create a new issue at the GitHub Community, and paste the message.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remove the path&#039;&#039;&#039;, just leaving the file name.&lt;br /&gt;
&lt;br /&gt;
== Using Developer Tools ==&lt;br /&gt;
&lt;br /&gt;
Amazing tool that makes debugging a lot easier.&lt;br /&gt;
&lt;br /&gt;
For a video guide on how to use developer tools, see [[Developer Tools Guide]]&lt;br /&gt;
&lt;br /&gt;
== Privacy &amp;amp; Security ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Never share API keys, cookies, Authorization headers, or a full JSON Web Token&#039;&#039;&#039; - not even with me!&lt;br /&gt;
* Mask secrets like: &amp;lt;code&amp;gt;sk-****last4&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Remove personal data unless it is essential to reproduce the issue.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=164</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=164"/>
		<updated>2025-10-13T11:31:55Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logistack is stable software with many months of development and testing. I&#039;ve installed on several environments, both locally and externally, and it should under most circumstances perform perfectly without error. That said, the software, being mostly a back-end platform, includes error reporting code that will create a a snippet of code at the top of the page, giving the reason why the error occurred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not attempt to edit any core (back-end) .php files,&#039;&#039;&#039; it is a fragile language that will, cause an error, and the inability to view the affected page.&lt;br /&gt;
&lt;br /&gt;
== Reporting Errors ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not under any circumstance,&#039;&#039;&#039; post PHP errors at our GitHub support, doing this can lead to the hijacking of your website!&lt;br /&gt;
&lt;br /&gt;
== How to Report an Issue ==&lt;br /&gt;
&lt;br /&gt;
Logistack includes a detailed error reporting mechanism, that uses the 500 error page.&lt;br /&gt;
&lt;br /&gt;
Whenever there&#039;s a significant error, or in some circumstances a warning, an error log is created, and the error is shown on that page.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to be logged as an admin to see this page, all non-admins are redirected to a page asking them to report the incident.&lt;br /&gt;
&lt;br /&gt;
In the first instance, copy this message, create a new issue at the GitHub Community, and paste the message.&lt;br /&gt;
&lt;br /&gt;
Remove the path, just leaving the file name. &lt;br /&gt;
&lt;br /&gt;
== Using Developer Tools ==&lt;br /&gt;
&lt;br /&gt;
Amazing tool that makes debugging a lot easier.&lt;br /&gt;
&lt;br /&gt;
For a video guide on how to use developer tools, see [[Developer Tools Guide]]&lt;br /&gt;
&lt;br /&gt;
== Privacy &amp;amp; Security ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Never share API keys, cookies, Authorization headers, or a full JSON Web Token&#039;&#039;&#039; - not even with me!&lt;br /&gt;
* Mask secrets like: &amp;lt;code&amp;gt;sk-****last4&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Remove personal data unless it is essential to reproduce the issue.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=163</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Troubleshooting&amp;diff=163"/>
		<updated>2025-10-13T11:19:41Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logistack is stable software with many months of development and testing. I&#039;ve installed on several environments, both locally and externally, and it should under most circumstances perform perfectly without error. That said, the software, being mostly a back-end platform, includes error reporting code that will create a a snippet of code at the top of the page, giving the reason why the error occurred.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not attempt to edit any core (back-end) .php files,&#039;&#039;&#039; it is a fragile language that will, cause an error, and the inability to view the affected page.&lt;br /&gt;
&lt;br /&gt;
== Reporting Errors ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not under any circumstance,&#039;&#039;&#039; post these errors at our GitHub support, doing this can lead to the hijacking of your website!&lt;br /&gt;
&lt;br /&gt;
For PHP errors, always contact me by email at [http://mailto:lee@venture-logistics.co.uk lee@venture-logistics.co.uk].&lt;br /&gt;
&lt;br /&gt;
== How to Report an Issue ==&lt;br /&gt;
&lt;br /&gt;
Please include the details below so we can reproduce and fix problems quickly.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;URL &amp;amp; Page:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Logged-in role/user:&#039;&#039;&#039; (e.g., Admin / Manager)&lt;br /&gt;
* &#039;&#039;&#039;Screenshots&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Console errors (if any):&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Network request details (if any):&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Server/PHP error snippet (if any):&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;Browser &amp;amp; version / device OS:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Using Developer Tools ==&lt;br /&gt;
&lt;br /&gt;
Amazing tool that makes debugging a lot easier.&lt;br /&gt;
&lt;br /&gt;
For a video guide on how to use developer tools, see [[Developer Tools Guide]]&lt;br /&gt;
&lt;br /&gt;
== Privacy &amp;amp; Security ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Never share API keys, cookies, Authorization headers, or a full JSON Web Token&#039;&#039;&#039; - not even with me!&lt;br /&gt;
* Mask secrets like: &amp;lt;code&amp;gt;sk-****last4&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Remove personal data unless it is essential to reproduce the issue.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Main_Page&amp;diff=162</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Main_Page&amp;diff=162"/>
		<updated>2025-10-13T05:34:29Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Logistack is an end-to-end logistics software suite — a lightweight, PHP/MySQL platform that helps couriers, man with van operations and smaller haulage companies, run quotes, bookings, jobs, POD uploads, invoicing, and customer communication from one place.&lt;br /&gt;
&lt;br /&gt;
= LogiStack Documentation =&lt;br /&gt;
&lt;br /&gt;
Welcome to the Logistack knowledge base. This private wiki contains how-tos, admin guides, and integration docs for the Logistack platform.&lt;br /&gt;
&lt;br /&gt;
== Quick links ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
! Area !! Page !! What you’ll find&lt;br /&gt;
|-&lt;br /&gt;
| Requirements || [[Logistack Requirements]] || Required server environment.&lt;br /&gt;
|-&lt;br /&gt;
| Installation || [[Installation Guide]] || Installing Logistack&lt;br /&gt;
|-&lt;br /&gt;
| Post Install || [[Post Install Setup]] || Things to do post install&lt;br /&gt;
|-&lt;br /&gt;
| FAQ || [[FAQ]] || Short answers to common questions&lt;br /&gt;
|-&lt;br /&gt;
| SMTP || [[SMTP Settings]] || Configure SMTP settings - sending emails and invoices&lt;br /&gt;
|-&lt;br /&gt;
| FTP || [[FTP Settings]] || used to upload certain otherwise unavailable files, e.g. SMTP&lt;br /&gt;
|-&lt;br /&gt;
| Troubleshooting || [[Troubleshooting]] || Error messages, checklists, and known fixes&lt;br /&gt;
|-&lt;br /&gt;
| Release notes || [[Release notes/2025]] || What’s new, changes, and fixes&lt;br /&gt;
|-&lt;br /&gt;
| Issues / module creation || [[Current Issues]] || What we&#039;re working on now or improving&lt;br /&gt;
|-&lt;br /&gt;
| Roadmap || [[Roadmap]] || What we&#039;re planning for the future&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Key capabilities ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mobile App&#039;&#039;&#039; – Currently under development, we&#039;re creating Android and IOS apps - see more on [[Logistack Mobile]]&lt;br /&gt;
* &#039;&#039;&#039;Page Builder&#039;&#039;&#039; – A light weight and powerful front end page builder, that provides easy SEO crafting - see more on [[Page Builder]]&lt;br /&gt;
* &#039;&#039;&#039;Auto Quotation&#039;&#039;&#039; – Using data from your costs (MPG, Depot location, average speed and diesel cost) - see more on [[Quote Calculator]]&lt;br /&gt;
* &#039;&#039;&#039;Online Bookings&#039;&#039;&#039; – Online booking module, that customer complete, detail available in Administration - see more on [[Booking Module]]&lt;br /&gt;
* &#039;&#039;&#039;AI Support&#039;&#039;&#039; – A bot (using GPTs 4.1-mini model), programmable using a .json file, easily customized to your business needs - see more on [[AI Module]]  &lt;br /&gt;
* &#039;&#039;&#039;Company Settings&#039;&#039;&#039; – Add company information - name, full address, phone, email etc - see more on [[Invoicing Module|Invoicing]] and [[Company Settings]]&lt;br /&gt;
* &#039;&#039;&#039;Staff Management&#039;&#039;&#039; – Can include any type of staff members - see more on [[Staff Module|Staff]], their permissions and how to add, edit or delete staff.&lt;br /&gt;
* &#039;&#039;&#039;Job Management&#039;&#039;&#039; – Add, edit and delete jobs - see more on [[Jobs Module|Jobs]]&lt;br /&gt;
* &#039;&#039;&#039;Customers&#039;&#039;&#039; – At the heart of Logistack - read article on [[Customer Module|Customers]]&lt;br /&gt;
* &#039;&#039;&#039;Drivers&#039;&#039;&#039; – Minimum access to the site, but can access jobs assigned to them and upload PODs - see more on [[Driver Module]].&lt;br /&gt;
* &#039;&#039;&#039;Staff Profiles&#039;&#039;&#039; – All team members have access to a profile, minimal information, but used for internal [[Messaging Modile|Messaging]] and [[Chat Module|Chat]].&lt;br /&gt;
* &#039;&#039;&#039;Invoice Management&#039;&#039;&#039; – create invoices once the job is marked as complete, modify costs and send direct to the customer.&lt;br /&gt;
* &#039;&#039;&#039;Quote History&#039;&#039;&#039; – Provides details of visitor and customers who use the auto quote system - see more [[Quote History]]&lt;br /&gt;
* &#039;&#039;&#039;Drivers&#039;&#039;&#039; – Minimum access to the site, but can access jobs assigned to them and upload PODs - see more on [[Drivers]].&lt;br /&gt;
* &#039;&#039;&#039;Reports&#039;&#039;&#039; – Providing information on finances (year to date, monthly etc), site use and efficiency based on visitors to bookings - see more on [[Reports]].&lt;br /&gt;
* &#039;&#039;&#039;AI History&#039;&#039;&#039; – Lead information, records email address, and the full conversation - see more on [[AI History]]&lt;br /&gt;
* &#039;&#039;&#039;Latest News&#039;&#039;&#039; – An internal news/blog to post information - see more on the [[News Module|News/Blogging]]&lt;br /&gt;
* &#039;&#039;&#039;Update Module&#039;&#039;&#039; – Provides the functionality to upload .php files, a new site logo, and a custom-overides.css file - see more on [[Update Module]]&lt;br /&gt;
* &#039;&#039;&#039;Text Editor&#039;&#039;&#039; – Edit front end pages with an easy to user toolbar - see more on [[Text Editor]]&lt;br /&gt;
* &#039;&#039;&#039;Site Settings&#039;&#039;&#039; – Used to change how page titles and header information in the browser - see more on [[Site Settings]]&lt;br /&gt;
&lt;br /&gt;
== Operational runbook ==&lt;br /&gt;
* [[Troubleshooting]] — common issues and quick checks&lt;br /&gt;
* [[Release notes/2025]] — recent updates you may need to communicate&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
&lt;br /&gt;
* Almost always report via community support - see more on how to access [[Accessing GitHub Community]]&lt;br /&gt;
* &#039;&#039;&#039;PHP errors&#039;&#039;&#039;, Always report to me via email on [http://mailto:lee@venture-logistics.co.uk lee@venture-logistics.co.uk] - &#039;&#039;&#039;NEVER&#039;&#039;&#039; include error codes publically!&lt;br /&gt;
* &#039;&#039;&#039;Business critical issues&#039;&#039;&#039;, i.e. pages not displaying, entire site failures, or anything that is super critical to your operations, call me on [http://tel:+447788821121 +44 (0)77 888 211 21]&lt;br /&gt;
&lt;br /&gt;
== Policies ==&lt;br /&gt;
* [[Security and privacy]] — handling data, credentials, and devices&lt;br /&gt;
* [[Change management]] — how we roll out app changes&lt;br /&gt;
&lt;br /&gt;
== Search tips ==&lt;br /&gt;
* Use the **Search** box for page titles and text.&lt;br /&gt;
* Narrow searches by quoting phrases, e.g., `&amp;quot;Start Tracking&amp;quot;` or `&amp;quot;custom-overrides.css&amp;quot;`.&lt;br /&gt;
* Look at the bottom of pages for **Categories** to find related content.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This wiki is private to authorized users. Do not copy content externally without approval.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Android_Installation&amp;diff=161</id>
		<title>Android Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Android_Installation&amp;diff=161"/>
		<updated>2025-10-13T00:44:54Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Purpose */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose == &lt;br /&gt;
&lt;br /&gt;
Install the Logistack Driver app on company-owned Android devices.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
Android 10+ (recommended 12+).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To access the app settings and adjust to your database, you need to have at least 1 admin and 1 driver, and you must be logged in as admin in your desktop site.&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Android_Installation&amp;diff=160</id>
		<title>Android Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Android_Installation&amp;diff=160"/>
		<updated>2025-10-13T00:44:27Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose == &lt;br /&gt;
&lt;br /&gt;
Install the LogiStack Driver app on company-owned Android devices.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
Android 10+ (recommended 12+).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To access the app settings and adjust to your database, you need to have at least 1 admin and 1 driver, and you must be logged in as admin in your desktop site.&lt;br /&gt;
&lt;br /&gt;
== Coming Soon ==&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Android_Installation&amp;diff=159</id>
		<title>Android Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Android_Installation&amp;diff=159"/>
		<updated>2025-10-12T23:04:10Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: Created page with &amp;quot;== Purpose ==   Install the LogiStack Driver app on company-owned Android devices.  == Scope ==  Android 10+ (recommended 12+).  == Prerequisites ==  To access the app settings and adjust to your database, you need to have at least 1 admin and 1 driver, and you must be logged in as admin in your desktop site.  == Download &amp;amp; install (on each company phone) ==  # On the phone, open your download page: https://YOURDOMAIN/mobile/download/logistack-tenantname-1.0.0.apk #When...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Purpose == &lt;br /&gt;
&lt;br /&gt;
Install the LogiStack Driver app on company-owned Android devices.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
Android 10+ (recommended 12+).&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To access the app settings and adjust to your database, you need to have at least 1 admin and 1 driver, and you must be logged in as admin in your desktop site.&lt;br /&gt;
&lt;br /&gt;
== Download &amp;amp; install (on each company phone) ==&lt;br /&gt;
&lt;br /&gt;
# On the phone, open your download page: https://YOURDOMAIN/mobile/download/logistack-tenantname-1.0.0.apk&lt;br /&gt;
#When prompted, allow install of unknown apps for the browser (or open the APK in Files and allow it there).&lt;br /&gt;
# Tap Install.&lt;br /&gt;
# Find LogiStack Driver in the app drawer and open it.&lt;br /&gt;
&lt;br /&gt;
== First run (one-time) ==&lt;br /&gt;
&lt;br /&gt;
* Preconfigured build (recommended): the app opens straight to the tenant’s /mobile/ site.&lt;br /&gt;
* Generic build: launcher asks for Company URL → enter https://TENANTDOMAIN/mobile/ (must end with /mobile/) and save.&lt;br /&gt;
&lt;br /&gt;
== Driver login &amp;amp; permissions ==&lt;br /&gt;
&lt;br /&gt;
# Driver logs in with existing LogiStack credentials.&lt;br /&gt;
# Go to Track → tap Start.&lt;br /&gt;
# Grant: Location → Allow all the time, and Notifications (Android 13+).&lt;br /&gt;
# Improve reliability: Android Settings → Apps → LogiStack Driver → Battery → Unrestricted.&lt;br /&gt;
&lt;br /&gt;
== Verify tracking ==&lt;br /&gt;
&lt;br /&gt;
* Admin opens map: https://TENANTDOMAIN/mobile/mobile_map.php (pin should appear within ~15–30s of movement).&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=158</id>
		<title>Logistack Mobile</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=158"/>
		<updated>2025-10-12T07:35:15Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
Logistack&#039;s mobile app implement two technology stacks;&lt;br /&gt;
&lt;br /&gt;
# The majority uses a slimmed down version of Logistack desktop, allowing utilization of the database.&lt;br /&gt;
# The Tracking module implements Android - see below for more.&lt;br /&gt;
&lt;br /&gt;
View the &#039;&#039;&#039;[https://pro.logistack.co.uk/mobile/mobile_jobs.php mobile app]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
&lt;br /&gt;
The app allows access to Admins, Superusers, Drivers and Customers.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Admins&#039;&#039;&#039; - jobs uploaded to the app from Logistack database, all data viewable, i.e. driver location (tracking), job status, PODs and notes.&lt;br /&gt;
* &#039;&#039;&#039;Drivers&#039;&#039;&#039; - Upload PODs and add notes.&lt;br /&gt;
* &#039;&#039;&#039;Customers&#039;&#039;&#039; - most data viewable, i.e. driver location (tracking), job status and PODs, but not notes.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
* [[Android Installation]]&lt;br /&gt;
* [[IOS Installation]] - coming soon.&lt;br /&gt;
&lt;br /&gt;
== Tracking ==&lt;br /&gt;
&lt;br /&gt;
To provide &#039;&#039;&#039;constant&#039;&#039;&#039; tracking, it isn&#039;t practical to use PHP, without modifying the settings of the mobile device, which in turn leads to inefficient use of the battery.   &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Used to report issues concerning the delivery, that you don&#039;t want the customer to see.&lt;br /&gt;
&lt;br /&gt;
== App Status ==&lt;br /&gt;
&lt;br /&gt;
Project started 11/10/2025, expected completion early 2026.&lt;br /&gt;
&lt;br /&gt;
== Release Note ==&lt;br /&gt;
&lt;br /&gt;
Stable - But not ready for use, still needs the tracking to be reliable.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=157</id>
		<title>Logistack Mobile</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=157"/>
		<updated>2025-10-12T06:21:02Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
Logistack&#039;s mobile app implement two technology stacks;&lt;br /&gt;
&lt;br /&gt;
# The majority uses a slimmed down version of Logistack desktop, allowing utilization of the database.&lt;br /&gt;
# The Tracking module implements Android - see below for more.&lt;br /&gt;
&lt;br /&gt;
View the &#039;&#039;&#039;[https://pro.logistack.co.uk/mobile/mobile_jobs.php mobile app]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
&lt;br /&gt;
The app allows access to Admins, Superusers, Drivers and Customers.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Admins&#039;&#039;&#039; - jobs uploaded to the app from Logistack database, all data viewable, i.e. driver location (tracking), job status, PODs and notes.&lt;br /&gt;
* &#039;&#039;&#039;Drivers&#039;&#039;&#039; - Upload PODs and add notes.&lt;br /&gt;
* &#039;&#039;&#039;Customers&#039;&#039;&#039; - most data viewable, i.e. driver location (tracking), job status and PODs, but not notes.&lt;br /&gt;
&lt;br /&gt;
== Tracking ==&lt;br /&gt;
&lt;br /&gt;
To provide &#039;&#039;&#039;constant&#039;&#039;&#039; tracking, it isn&#039;t practical to use PHP, without modifying the settings of the mobile device, which in turn leads to inefficient use of the battery.   &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Used to report issues concerning the delivery, that you don&#039;t want the customer to see.&lt;br /&gt;
&lt;br /&gt;
== App Status ==&lt;br /&gt;
&lt;br /&gt;
Project started 11/10/2025, expected completion early 2026.&lt;br /&gt;
&lt;br /&gt;
== Release Note ==&lt;br /&gt;
&lt;br /&gt;
Stable - But not ready for use, still needs the tracking to be reliable.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=156</id>
		<title>Logistack Mobile</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=156"/>
		<updated>2025-10-12T06:20:37Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
Logistack&#039;s mobile app implement two technology stacks;&lt;br /&gt;
&lt;br /&gt;
# The majority uses a slimmed down version of Logistack desktop, allowing utilization of the database.&lt;br /&gt;
# The Tracking module implements Android - see below for more.&lt;br /&gt;
&lt;br /&gt;
View the &#039;&#039;&#039;[https://pro.logistack.co.uk/mobile/mobile_jobs.php mobile app]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The app allows access to Admins, Superusers, Drivers and Customers.&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Admins&#039;&#039;&#039; - jobs uploaded to the app from Logistack database, all data viewable, i.e. driver location (tracking), job status, PODs and notes.&lt;br /&gt;
* &#039;&#039;&#039;Drivers&#039;&#039;&#039; - Upload PODs and add notes.&lt;br /&gt;
* &#039;&#039;&#039;Customers&#039;&#039;&#039; - most data viewable, i.e. driver location (tracking), job status and PODs, but not notes.&lt;br /&gt;
&lt;br /&gt;
== Tracking ==&lt;br /&gt;
&lt;br /&gt;
To provide &#039;&#039;&#039;constant&#039;&#039;&#039; tracking, it isn&#039;t practical to use PHP, without modifying the settings of the mobile device, which in turn leads to inefficient use of the battery.   &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Used to report issues concerning the delivery, that you don&#039;t want the customer to see.&lt;br /&gt;
&lt;br /&gt;
== App Status ==&lt;br /&gt;
&lt;br /&gt;
Project started 11/10/2025, expected completion early 2026.&lt;br /&gt;
&lt;br /&gt;
== Release Note ==&lt;br /&gt;
&lt;br /&gt;
Stable - But not ready for use, still needs the tracking to be reliable.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=155</id>
		<title>Logistack Mobile</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=155"/>
		<updated>2025-10-12T06:20:12Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
Logistack&#039;s mobile app implement two technology stacks;&lt;br /&gt;
&lt;br /&gt;
# The majority uses a slimmed down version of Logistack desktop, allowing utilization of the database.&lt;br /&gt;
# The Tracking module implements Android - see below for more.&lt;br /&gt;
&lt;br /&gt;
View the &#039;&#039;&#039;[https://pro.logistack.co.uk/mobile/mobile_jobs.php mobile app]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The app allows access to Admins, Superusers, Drivers and Customers.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Admins&#039;&#039;&#039; - jobs uploaded to the app from Logistack database, all data viewable, i.e. driver location (tracking), job status, PODs and notes.&lt;br /&gt;
* &#039;&#039;&#039;Drivers&#039;&#039;&#039; - Upload PODs and add notes.&lt;br /&gt;
* &#039;&#039;&#039;Customers&#039;&#039;&#039; - most data viewable, i.e. driver location (tracking), job status and PODs, but not notes.&lt;br /&gt;
&lt;br /&gt;
== Tracking ==&lt;br /&gt;
&lt;br /&gt;
To provide &#039;&#039;&#039;constant&#039;&#039;&#039; tracking, it isn&#039;t practical to use PHP, without modifying the settings of the mobile device, which in turn leads to inefficient use of the battery.   &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Used to report issues concerning the delivery, that you don&#039;t want the customer to see.&lt;br /&gt;
&lt;br /&gt;
== App Status ==&lt;br /&gt;
&lt;br /&gt;
Project started 11/10/2025, expected completion early 2026.&lt;br /&gt;
&lt;br /&gt;
== Release Note ==&lt;br /&gt;
&lt;br /&gt;
Stable - But not ready for use, still needs the tracking to be reliable.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
	<entry>
		<id>https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=154</id>
		<title>Logistack Mobile</title>
		<link rel="alternate" type="text/html" href="https://wiki.logistack.co.uk/index.php?title=Logistack_Mobile&amp;diff=154"/>
		<updated>2025-10-12T06:19:26Z</updated>

		<summary type="html">&lt;p&gt;Lee Miller: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
Logistack&#039;s mobile app implement two technology stacks;&lt;br /&gt;
&lt;br /&gt;
# The majority uses a slimmed down version of Logistack desktop, allowing it to utilize the database.&lt;br /&gt;
# The Tracking module implements Android - see below for more.&lt;br /&gt;
&lt;br /&gt;
View the &#039;&#039;&#039;[https://pro.logistack.co.uk/mobile/mobile_jobs.php mobile app]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The app allows access to Admins, Superusers, Drivers and Customers.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Admins&#039;&#039;&#039; - jobs uploaded to the app from Logistack database, all data viewable, i.e. driver location (tracking), job status, PODs and notes.&lt;br /&gt;
* &#039;&#039;&#039;Drivers&#039;&#039;&#039; - Upload PODs and add notes.&lt;br /&gt;
* &#039;&#039;&#039;Customers&#039;&#039;&#039; - most data viewable, i.e. driver location (tracking), job status and PODs, but not notes.&lt;br /&gt;
&lt;br /&gt;
== Tracking ==&lt;br /&gt;
&lt;br /&gt;
To provide &#039;&#039;&#039;constant&#039;&#039;&#039; tracking, it isn&#039;t practical to use PHP, without modifying the settings of the mobile device, which in turn leads to inefficient use of the battery.   &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Used to report issues concerning the delivery, that you don&#039;t want the customer to see.&lt;br /&gt;
&lt;br /&gt;
== App Status ==&lt;br /&gt;
&lt;br /&gt;
Project started 11/10/2025, expected completion early 2026.&lt;br /&gt;
&lt;br /&gt;
== Release Note ==&lt;br /&gt;
&lt;br /&gt;
Stable - But not ready for use, still needs the tracking to be reliable.&lt;/div&gt;</summary>
		<author><name>Lee Miller</name></author>
	</entry>
</feed>