Customer multiple addresses

Hi, I have a question. My business is mostly delivery and lots of my costumers have multiple adresses (work, house 1, house 2, etc). Currently the fields on Customer entity are name, address, phone and city and this data is printed in the ticket so I have to change the address every time the customer makes an order.
QUESTION: Is there any way to make tha app ask me wich one of several addresses fields (per customer) it has to be printed?

Thanks!

1 Like

@emre, is there a way to access Entity Note Data? I thought maybe we could read the data in Entity Note and Update Entity Custom Data field…

Entity Data Custom Field:

Entity Notes:

Automation Command to execute Delivery Address Update:

Action - Update Entity Data:

Rule - Set Delivery Address:


There are other methods we could use to accomplish this which came to mind at first, but when I realized that Entity Notes could execute an Automation Command, I thought this might be more “elegant”.

My first idea was to have multiple Custom Data Address fields (address1,2,3,etc.), and an additional DeliverTo Custom Field, then use Ask Question Action to display the addresses and pick the Address (1,2,3,etc.), then Update the DeliverTo field for the Entity.

Either way, in the Ticket Template, you would put the Tag {ENTITY DATA:DeliverTo} somewhere to show the current Delivery Address.

Wow… great idea. Let me check this…

Can you PM me a backup of that ?

Edit… OK. Thank you for the screen-shots… I’ll test it shortly.

I think we can also build entity notes dynamically by reading custom address fields from selected entity. Great idea.

1 Like

We don’t have tags for reading notes :blush:. I’ll add them for next release.

3 Likes

Not tested yet but just wanted to let you know {ENTITY NOTE:Customer:Address1} tag should work with 4.1.76 test release.

2 Likes

Tested… it works! Awesome @emre, very cool.

░░░░░░░░░░░░░░░░ O R D E R ░░░░░░░░░░░░░░░
2014-11-07 20:14:06         Dine In #21449
Customer: Andrew
Delivery Address: 456 DEF Ave.
------------------------------------------
1 Pizza Cheese Only                 300.00

Here is how I set this up. This is similar to what I already posted, but it is in-reverse. Instead of storing Customer Addresses in Entity Notes, it is more natural to store them in Custom Data Fields, if for no other reason: it’s easier to edit them through various methods.

:heavy_exclamation_mark: Requires v4.1.76 or later

Database Tools Import file:
DeliveryAddress_Automation.zip (1.0 KB)


###FLOW:


###SETUP:

Entity Custom Data Fields: (add as many AddressX fields as you require and a single DeliveryAddress field that we will update when a Customer Entity is selected for a Ticket)

Edit your Customer Entities via Manage > Entities or via Customer Search so that they have their required addresses: (no need to fill in all AddressX fields - just those that you require, and DeliveryAddress should be left empty since we will update it dynamically)


Automation Command to execute to set DeliveryAddress via Notes:


Action to dynamically build Entity AddressX Notes for the Customer for User Selection:

Action to update Entity Data DeliveryAddress field upon User Selection:

Action to Ticket Tag DeliveryAddress upon User Selection:


Rule to update/build Entity Notes for AddressX fields:

Action Constraints: '{ENTITY DATA:Customer:Address1}' != ''
CustomerName: {ENTITY NAME:Customer}
AddressName: Address1
Address: {ENTITY DATA:Customer:Address1}
Color: CornflowerBlue
AddressNumber: Address1

:exclamation: Tip for adding the same Action more than once to a Rule: Right-Click in the left chooser and click Display All Values, then add the Action as many times as required.

Rule to Update Entity Data DeliveryAddress field to contain chosen address, set the Ticket Tag and change the Color of the Note from Blue to Orange:

CustomerName: {ENTITY NAME:Customer}
Delivery Address: {ENTITY NOTE:Customer:[:CommandValue]}

Address: {ENTITY NOTE:Customer:[:CommandValue]}

CustomerName: {ENTITY NAME:Customer}
AddressName: [:CommandValue]
Address: {ENTITY NOTE:Customer:[:CommandValue]}
Color: Orange
AddressNumber: [:CommandValue]

:question: The Show Message Action (MSG TEST) shown above is optional, but is helpful because it gives some feedback that an Address has been chosen. This is the message displayed:

Delivery Address for {ENTITY NAME:Customer}:\r{ENTITY NOTE:Customer:[:CommandValue]}


Printer Template Tags:

Using Ticket Tag (place this anywhere in the Template where you want the Address displayed):

[<J00>Delivery Address:
<J00>{TICKET TAG:DeliveryAddress}]

Using Entity Data:

[ENTITIES:Customer]
-- Customer entity format
<J00>Customer: {ENTITY NAME}
[<J00>Delivery Address:
<J00>{ENTITY DATA:DeliveryAddress}]

3 Likes

@QMcKay absolutely great idea. Thank you. Should I implement Clear Entity Notes action? We can hide them after selection (or ticket close) and display delivery address as a ticket tag.

Edit: It seems it is possible to remove note by setting empty note for given note name…

Good idea. I’ll add this is as an option. I was just unsure of how it will display when it comes to multi-line addresses.

@emre, is there a way to get the Note Chooser to re-appear after it has been closed? For example, in the case where you pick the incorrect address, then close the Chooser, then you want to change your selection? The only way I have found to do this is to Change Customer to someone else, or remove the Customer, then Change or Select the original Customer.