Email-Based Tour Inbox Communication System
Budget: $250 – $750 CAD
Tour Inbox Email Capture System Requirements
Overview
The Tour Inbox is an email-based communication management system designed to capture, organize, and store all emails e.g. supplier communications related to tours. The system uses email forwarding/CC mechanics and the plus "+" sign email addressing convention to automatically sort and categorize incoming emails, creating a centralized repository of all supplier interactions.
Core System Concept
Employees communicate with suppliers via their regular email accounts
Employees CC or forward relevant emails to a dedicated tour inbox email address
The system captures these emails, maps reply threads, and stores them with attachments
All communications are organized, searchable, and accessible through the application
Technical Architecture
Email Processing Infrastructure
Use Laravel 10 and Livewire.
Office 365 Integration. Shared Mailbox Access: Secure connection to Office 365 shared mailbox. Email Authentication: Proper authentication and security handling. Shared Mailbox Integration: Connect to Office 365 shared mailbox as the tour inbox using new auth method
Parse email from many Shared Mailbox and save them in the thread email table. See example further below.
Email Parsing: Potentially Use Webklex/laravel-imap OR SIMILAR to process incoming emails
Plus Sign Routing: Support for tour+number @ domain.com format to determine proper Tour to be associated with this email. System will parse and save number in a different table / column.
Threading Logic: Map reply emails to original conversations through message IDs and references. Email Thread Mapping: Connect replies to original emails, maintaining conversation context
Attachment Handling: Extract and store attachments from emails in DigitalOcean Spaces
CC Capture: Process emails where tour inbox is in CC field or TO
Support # or @ as meta-data in the subject or first line of the body. This will get saved in the database too.
Forward Capture: Process emails forwarded to the tour inbox
Email Metadata Extraction: Extract sender, recipients, subject, date, and thread information
Steps
System will read the mailboxes listed under the mailbox table and download unread emails and save with the proper context (conversation thread) into the threads email.
System will part the email and populate the thread_tour table as follows:
A) System will save the thread email id to the tread_id column thread_tour table
B)
Tour+45-23 @ ourdomain.com
System will save this email and will save the number after the plus sign 45+23 into the tour number field in the thread_tour table
C)
Then system will look at the From/CC fields and body.
IF the email is coming from a different domain than ‘@ourdomain.com’ , system will populate the field supplier_email into the thread_tour table.
If it is coming from @ourdomain.com, system will check the CC field to identify any email address that doesn’t belong to the domain and save in the supplier email separated by comma.
If an employee from ellison travel and tour forwards an email to this email address, they will need to use the hasdags below.
d) Hashtags
Then system will look at the subject and body of the email for hashtags and save them into the thread_email table separate by comma if multiple applies.
For instance, Subject: Tour 45-25 Please remit #invoice ASAP. System will save the word invoice in the hastag field.
Another example, first line of body contains: #fwd #toprint #quote
System will save toprint, quote into the hashtag fields.
#fwd is a keyword and means an employee if forwarding a supplier invoice. Thefore, system will check the body of the email for the first from email with a different domain and save that email into the supplier_email field. This will allow employees to forward emails and still map to the supplier.
More doc https://ellisontravel.sharepoint.com/:w:/s/it/EWpMDPYGb6dOpBPMpErsm4ABP-WeKc9Yx5xGV1cjsaMShg?e=jidzTu
Overview
The Tour Inbox is an email-based communication management system designed to capture, organize, and store all emails e.g. supplier communications related to tours. The system uses email forwarding/CC mechanics and the plus "+" sign email addressing convention to automatically sort and categorize incoming emails, creating a centralized repository of all supplier interactions.
Core System Concept
Employees communicate with suppliers via their regular email accounts
Employees CC or forward relevant emails to a dedicated tour inbox email address
The system captures these emails, maps reply threads, and stores them with attachments
All communications are organized, searchable, and accessible through the application
Technical Architecture
Email Processing Infrastructure
Use Laravel 10 and Livewire.
Office 365 Integration. Shared Mailbox Access: Secure connection to Office 365 shared mailbox. Email Authentication: Proper authentication and security handling. Shared Mailbox Integration: Connect to Office 365 shared mailbox as the tour inbox using new auth method
Parse email from many Shared Mailbox and save them in the thread email table. See example further below.
Email Parsing: Potentially Use Webklex/laravel-imap OR SIMILAR to process incoming emails
Plus Sign Routing: Support for tour+number @ domain.com format to determine proper Tour to be associated with this email. System will parse and save number in a different table / column.
Threading Logic: Map reply emails to original conversations through message IDs and references. Email Thread Mapping: Connect replies to original emails, maintaining conversation context
Attachment Handling: Extract and store attachments from emails in DigitalOcean Spaces
CC Capture: Process emails where tour inbox is in CC field or TO
Support # or @ as meta-data in the subject or first line of the body. This will get saved in the database too.
Forward Capture: Process emails forwarded to the tour inbox
Email Metadata Extraction: Extract sender, recipients, subject, date, and thread information
Steps
System will read the mailboxes listed under the mailbox table and download unread emails and save with the proper context (conversation thread) into the threads email.
System will part the email and populate the thread_tour table as follows:
A) System will save the thread email id to the tread_id column thread_tour table
B)
Tour+45-23 @ ourdomain.com
System will save this email and will save the number after the plus sign 45+23 into the tour number field in the thread_tour table
C)
Then system will look at the From/CC fields and body.
IF the email is coming from a different domain than ‘@ourdomain.com’ , system will populate the field supplier_email into the thread_tour table.
If it is coming from @ourdomain.com, system will check the CC field to identify any email address that doesn’t belong to the domain and save in the supplier email separated by comma.
If an employee from ellison travel and tour forwards an email to this email address, they will need to use the hasdags below.
d) Hashtags
Then system will look at the subject and body of the email for hashtags and save them into the thread_email table separate by comma if multiple applies.
For instance, Subject: Tour 45-25 Please remit #invoice ASAP. System will save the word invoice in the hastag field.
Another example, first line of body contains: #fwd #toprint #quote
System will save toprint, quote into the hashtag fields.
#fwd is a keyword and means an employee if forwarding a supplier invoice. Thefore, system will check the body of the email for the first from email with a different domain and save that email into the supplier_email field. This will allow employees to forward emails and still map to the supplier.
More doc https://ellisontravel.sharepoint.com/:w:/s/it/EWpMDPYGb6dOpBPMpErsm4ABP-WeKc9Yx5xGV1cjsaMShg?e=jidzTu