Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Closing Micros Guest Checks

Status
Not open for further replies.
Mar 17, 2010
78
US
We have an online ordering system that inserts orders into our Micros 3700 system. Unfortunately the Micros API does not allow the online system to close the checks.

The current process requires cashiers to pull up each online order as an open check an manually close it.

I would like to handle this process programatically if possible.

I can very easily identify the checks that I wish to close in the chk_dtl table. All of the online trasactions are CC paytypes and are approved prior to the transaction being inserted.

I have been unable to locate a stored proc that Micros Ops is using to close checks via the interface.

Does anyone have any experience writing a query to manully close a ticket?
 
Is the check on the system then at a 0 balance or do you need to add a "payment" to close the check?
 
The payments have already been authorized before they are actually inserted into the system.

If I close them in the chk_dtl table then for some reason it will not let me print them. When I attempt to look them up the system cannot locate them. I must be missing an update in another table(s).
 
Hey Mike

One way to describe this check would be similar to a table service check that has been run but is waiting for a tip to be added before closed.

The transaction is authorized during the onlin order. If approved it is entered into POS system where it waits for a cashier to close it out.

The current cashier process is to close the check just like closing an offline CC transcation.
 
Below is the query I am running to close the checks. I am obviouly missing some other tables but I dont know what they are. Again, I am trying to replicate the Close Offline CC function.

--Begin
UPDATE "micros"."chk_dtl"
SET
chk_clsd_date_time = CURRENT TIMESTAMP,
chk_open = 'F',
ob_items_on_hold = 'F',
ob_ocs03_summ_ttl_prntd = 'T',
ob_ccs02_ca_chk = 'T',
pymnt_ttl = (Select sub_ttl + tax_ttl),
amt_due_ttl = '0.00',
chk_prntd_cnt = '1',
pg_num = '1',
gross_rcpts = sub_ttl
WHERE
emp_seq = '195'
AND chk_open = 'T'
AND chk_clsd_date_time IS NULL
AND
(
autofire_time is NULL
OR
autofire_time IS NULL
)
)
--End
 
If it is like a CC auth waiting for a tip it means that there is no tender on the check yet. Are you using integrated credit card in which all your sales are being batched with the pos, or are the recors being batched and settled by your online ordering provider.

Simply doing the action of the script you included would update the chk_dtl table, but nothing for accounting for your payment or tender. Unless this is submitted to the POS with a .00 balance and a final tender already attached you will need to apply a tender to the check at some point.

What are the key strokes you are using right now to close out the orders?
 
If I have not said so already, thanks for all the help you have provided!!!!

In our touch screen designer there is a button named Close Offline CC. The category for this button is Function: Transaction. The function being called is Credit Finalize.

It is this button that is being used to close out the open checks. I would love to know what process/stored procedure this button is calling. The code/query would be ideal.

 
Now, is there an order type the distinguishes online orders versus the rest of the open tickets. How are you finding what checks need to be closed versus other open checks.
 
Yes, they come in as order type 6. Very easily identified by order type and emp_seq. All of the online orders come in as a specific order type entered by a specific user. This is an absolute condition.
 
Now we are making progress. Making the assumption that if a customer does not pick up their food, they are still charged and that there is nothing an employee has to do other than hand out the food (no POS related keystrokes), how often would you like to close out online orders.
 
Your assumption about the pickup is true. They make payment during the online transaction, shame on them if they choose not to pick up :)

Lets assume we want to sweep through transactions and close the applicable transactions every 20 minutes.

The kicker is the open checks have to be filtered on the auto_fire time. In my query to identify the checks that need to be closed I look at auto_fire = NULL (immediate order) or auto_fire < CURRNET TIMESTAMP

I just saw in the query I posted it does not reflect this, was doing some testing at the time I guess, the actual query I am running on the chk_dtl table filters on auto_fire for null and time.
 
Hey MikeRose, you get a chance to think about this one anymore?

I spoke with our Micros rep and he said we may want to look into a SIM to do this.

I like SQL, I do not like SIM. In any case, wouldnt the SIM have to do the same steps to close the tickets?
 
I have thought about this and SIM will be the way you want to go. There are quite a few SQL steps that would need to be done. I would be willing to work with you on creating such a SIM.
 
You are too awesome!!!!

I did get the SIM working to reprint guest check numbers on our receipts but that is as far as I have gone with SIMS. This would be a great learning experience to pull this off.

Just let me know what I can do.
 
I have a real concern blindly closing checks. What if there was a button, that you could batch close all the current online order checks, with a user confirmation Then print a recap of the orders that batch closed.
 
Blindly closing will be fine as long as we key on the emp_seq = '195'. Any order entered by emp_seq = '195' is an onlin order. We only want to close the online order. The other criteria is auto_fire = NULL (immediate order) or auto_fire < CURRNET TIMESTAMP from the chk_dtl table.

We really want to get away from the cashiers hitting any button on these transactions.
 
It would be ideal for a receipt tp print with every closed transaction though.
 
I have a SIM that will do what we discussed. There are some other things we can incorporate but I am wondering if I can get a couple minutes to discuss this.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top