Nothing Special   »   [go: up one dir, main page]

US20210256491A1 - System and method for remote management of sale transaction data - Google Patents

System and method for remote management of sale transaction data Download PDF

Info

Publication number
US20210256491A1
US20210256491A1 US17/307,769 US202117307769A US2021256491A1 US 20210256491 A1 US20210256491 A1 US 20210256491A1 US 202117307769 A US202117307769 A US 202117307769A US 2021256491 A1 US2021256491 A1 US 2021256491A1
Authority
US
United States
Prior art keywords
open
check
server
register instance
checks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US17/307,769
Inventor
Jason Richelson
Jason Ordway
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lightspeed Commerce USA Inc
Original Assignee
Lightspeed Commerce USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/037,048 external-priority patent/US9317844B2/en
Application filed by Lightspeed Commerce USA Inc filed Critical Lightspeed Commerce USA Inc
Priority to US17/307,769 priority Critical patent/US20210256491A1/en
Assigned to SHOPKEEP INC. reassignment SHOPKEEP INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SHOPKEEP.COM INC
Assigned to LIGHTSPEED COMMERCE USA INC. reassignment LIGHTSPEED COMMERCE USA INC. MERGER AND CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: LIGHTSPEED COMMERCE USA INC., SHOPKEEP INC.
Assigned to SHOPKEEP.COM INC. reassignment SHOPKEEP.COM INC. MERGER AND CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SHOPKEEP LLC, SHOPKEEP.COM INC.
Assigned to SHOPKEEP.COM INC reassignment SHOPKEEP.COM INC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ORDWAY, JASON
Assigned to SHOPKEEP LLC reassignment SHOPKEEP LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RICHELSON, JASON
Publication of US20210256491A1 publication Critical patent/US20210256491A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/206Point-of-sale [POS] network systems comprising security or operator identification provisions, e.g. password entry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]

Definitions

  • This invention is related to point of sale systems typically used in retail stores.
  • the invention is a novel architecture that permits a retail store owner to obtain sale transaction data management as a service instead of purchasing such a system and maintaining it.
  • the point of sale system is designed so that it is provided as a service shared among participating retail vendors.
  • the invention provides the service security, data integrity, robustness and redundancy.
  • This invention relates to a system and method for executing sale transactions and managing the data associated with the transaction, for example, pricing and inventory.
  • Typical point-of-sale systems have dedicated point of sale devices that are connected over a local area network to a local server computer dedicated to that specific vendor's system.
  • Other systems use credit card readers that are connected by a wide are network to a system that clears the transaction, but the actual sale transaction data is managed using the dedicated system.
  • these dedicated systems are costly to buy and maintain.
  • there is a need for a sale transaction data management system that can be shared by more than one vendor and offered as a service to these vendors, rather than a system that each vendor has to own and maintain.
  • One aspect of a point of sale system is that it must provide a flexible way for service personnel in certain contexts to manage the retail customer transactions that they are responsible for.
  • the invention relates to managing retail customer's checks so that the person providing service to the customer can manage multiple customers and their order traffic efficiently and with ease.
  • FIG. 1 Flow chart for processing open checks.
  • FIG. 2 Flowchart of system architecture
  • FIG. 3 Example screenshot of open check box icons with status display
  • FIG. 4 Example screenshot for selecting check display detail
  • FIG. 5 Example screenshot showing open check detail for adding items to check.
  • FIG. 6 Example screenshot of open check box icons with status display
  • FIG. 7 Example screenshot showing selection of open checks for transfer.
  • FIG. 8 Example screenshot showing selection of destination user for the transferred checks.
  • FIG. 9 Example screenshot showing verification user interface.
  • FIG. 10 Example screenshot showing creation of a new check for splitting.
  • FIG. 11 Example screenshot showing result of a split.
  • FIG. 12 Example screenshot showing command input screen for saving a split check.
  • the typical embodiment of the system is centered around one or more servers that are hosted externally from the point of sale locations of the one or more vendors that use the system.
  • the servers are connected to the Register instances over a Wide Area Network, typically the Internet.
  • a server is a computer containing or operatively connected, through a data network, one or more mass storage devices.
  • the servers operate together as the repository of vendor information associated with the point of sale terminals.
  • the terminals are typical personal computers operating an instance of the Register software.
  • the servers are operatively connected to the point of sale terminals over a data network, a wide area network.
  • the Internet is the wide area network.
  • the servers are accessed in several ways. The primary access is by means of the point of sale terminals.
  • the servers are accessible from the Internet by other computers as well.
  • the point of sale terminals is typically a personal computer running a typical operating system, for example, WindowsTM.
  • a point of sale terminal is created by means of operating the Register software on a personal computer running WindowsTM.
  • Each computer at a point of sale location that acts as the transaction input interface or terminal is a typical personal computer running an instance of the point of sale software, or Register software.
  • the Register software is designed to execute particular protocols that cause communication between the Register software instance and the servers. The protocol is designed to ensure that the Register software has access to that part of the database hosted by the servers associated with the vendor whose Register terminal is making the access.
  • each Register instance communicates across the wide area network, including the Internet to the servers housing the database information associated with the vendor.
  • the Register software is designed so that where a vendor has more than one terminal operating the Register software, the specific instance of Register that is accessing the server is identifiable by the database.
  • the vendor personnel can use it to connect to their specific database operating on the server.
  • An authorized vendor personnel is prompted to input the vendor identity, a user name and password to log in as the operator for the cash register station.
  • the Register software presents a browser type interface with a user-customizable series of interactive screens that present the workflow typically used by that vendor.
  • the Register system looks in its local mass storage for the pricing associated with the unit sold.
  • a transaction ticket is created, meaning a data object representing the transaction. That ticket contains a Register identifier, personnel identifier, item number, price and any other information the vendor has decided to associate with the transaction.
  • the transaction ticket is transmitted to the server in conformance with the interactive protocol with the server.
  • the Register software contains several components that permit it to act as its own file server, database server and browser. The reason is that this provides simple robustness when the network connection over the WAN or Internet is down.
  • the Register software maintains its own local database that mirrors the essential information present on the system server relevant to that Register license.
  • the server causes the database update to be transmitted down to the Register instance so that its database is updated.
  • the local database holds the transaction tickets. These are also transmitted to the system server when the network connection is re-established. As the transactions are processed by the system server, the status is updated both on the system server and the local Register software database.
  • the system does a data consistency check to be sure that the latest pricing and inventory data has been updated in the Register instance and that the latest transaction data in the Register has been updated in the back-office server database.
  • the Register software requests updates from back office system servers.
  • the register instance can maintain more than one check.
  • a check refers to a data structure representing one or more transaction items associated with a particular customer.
  • a check is created by the local register instance when the employee using the instance selects a command to create a new check. That check has a unique identifier associated with it so that the employee can create a second or multiple open checks.
  • a reference to the items are added to the check data structure associated with that customer.
  • the check status is that it is open.
  • the check status is updated to be closed.
  • FIG. 1 shows a detailed flow chart that presents one embodiment of the invention.
  • the sale begins ( 100 ).
  • the data structure is automatically saved to the local disk ( 102 ).
  • the employee can add items to the check ( 103 ).
  • the check is automatically saved to the local disk again.
  • 102 When the check is first created ( 100 ), a default name is assigned to the check, for example “Walk in.”
  • the check can also be formally named to correspond to the customer ( 104 ). If this happens, the check is automatically saved.
  • the purpose of the automatic saving is to be sure that the local storage of transaction data is on the local mass storage device in case of some kind of interruption.
  • the automatically saved check data structure is queued for storage on the back-office server system. ( 105 ). This is an additional data security feature because it prevents loss of the local register instance resulting in loss of the open check data.
  • the open checks are queued for the back-office save in order to prioritize network traffic and servicing by the back-office server.
  • the queuing process can use a variety of schemes.
  • the queue operates a last-in-first-out scheme, so that the oldest open check that has not been saved has highest priority to be transmitted of those in the queue.
  • Other schemes weighting schemes may be used to calculate a relative priority based on the status of the open check.
  • the system calculates a priority score as a weighting factor times a condition value.
  • the queue is then ordered based on the decreasing value of the scores. For example, the priority can be correlated with the size of the pending amount due in a given open check.
  • the priority value is equal to the open check's amount due times some predetermined constant.
  • Another queuing scheme involves using the age of the check to increase its priority.
  • the priority value is the age of the open check times some predetermined constant.
  • the priority value can be equal to some combination of the above. For example, the queue position of an open check may be equal to the linear combination of the priority value based on the amount of the check with the priority value of the age. This way, a very large check can be placed before a moderately old check and vice versa.
  • the open check is presented, or tendered to the customer for payment.
  • the tender can involve printing a receipt for approval, transmitting to the user's mobile device a screen display where the customer can use the mobile device user interface to receive permission to process payment or any other method of presenting a list of items on the check and the total purchase price or amount due.
  • the check is finalized.
  • the open check data structure is transmitted up to the server system for storage on the back-end server system. This saving process is higher priority than the queued saving processes because it involves a completed transaction. Therefore, the queued saves wait for the finalized transactions to be transmitted to the back-office server.
  • the system manages the open checks while they are open.
  • One management function is to pass an open check from one employee operating the register instance to another. This may occur when one employee is closing their shift, but the customer is still maintaining an open check.
  • the first employee selects the open check by actuating the user interface of the first instance.
  • FIG. 6 Then, the first employee enters a command to transfer the open check to another employee.
  • FIG. 7 This may involve opening a menu item and selecting a predetermined name of a second employee who has logged into the register instance. When that selection has occurred, the system the automatically requests that the second employee verify that the selected open check be transferred to the second employee.
  • FIG. 8 This is accomplished by the register instance presenting a user interface screen requesting a password from the second employee. The second employee then inputs the password. When the password is verified, the system then completes the transfer of the open check from the first employee to the second.
  • the transfer of an open check between employees can be accomplished by replacing the user-id that is part of or associated with the open check data structure stored on the local register instance (which would be the first employee's user-id) with the user-id of the second employee.
  • This embodiment of the invention works where the two employees are logged into the same device or register instance.
  • each employee may have their own device with their own register instance.
  • the device of the first employee transmits a data message embodying a request to the back-office that a transfer occur to the second employee.
  • the back-office server logic is adapted to transmit a data message to the device operated by the second employee requesting the verification.
  • the back-office server When the second employee enters the verification data, either a local verification status or the data itself is transmitted up to the back-office server.
  • the back-office server conditioned on receiving such verification data, updates the data structure stored in the back office with the user-id of the second employee while transmitting the transferred open check data structure down to the second employee's device.
  • a second management function is to split an open check into two or more open checks.
  • the employee operating register instance selects an open check using the user interface of the device.
  • FIG. 9 The employee then can select a split command. This command may be selected more than once to automatically create one or more additional blank open checks.
  • the employee can then select an item on the original open check and input a command to transfer that item from the original open check to one of the newly created open checks. When that transfer occurs, the item is deleted from the original open check.
  • the data structure associated with the original open check is updated to delete the moved item, while the data structure of the new open check is updated to include the moved item.
  • the employee can confirm saving the split.
  • FIG. 11 When the two data structures are updated, they are automatically saved. In addition, any pending amount due for the bill is recalculated.
  • the system is adapted to present a user interface screen to the user that presents all of the pending checks and the status of their order. This may be as a result of the user inputting a command to cause that summary display.
  • FIG. 3 For example, each order that an employee is managing at the register instance can be displayed as a graphical icon in the form of a box.
  • FIG. 2 ., FIG. 5 These boxes can be lined up with the name of the customer in the box.
  • graphical objects can be presented within the box that indicate the status of the order. The status may include “Open”, “Order Entered”, “Order Sent”, “Check Printed”, “Payment Pending”.
  • the data structure embodying the open check has an entry for that check's status.
  • That status is updated. For example, if the customer requests an item and it is entered into the system, the status is updated from “Open” to “Order Entered.” When a fulfillment section of the business is delivering the item to the customer, the order is automatically updated to “Order Sent”. When the open check is tendered to the customer, the status is updated to “Order Printed”. When the payment information is entered into the system, the status is updated to “Payment Pending.” When the payment transaction is completed, the open check is removed from the display list, although as a data item, it is saved on the back-office server. Once payment for a check has been processed, the user interface removes the icon for that check from the data structure that encodes the list of orders that are displayed on that management screen.
  • the management screen can also act as a gateway to view or change the check.
  • the register instance switches user interface screens in order to display the detail of the items comprising the check.
  • the screen may include an item selection menu.
  • FIG. 4 In this state, the register instance is adapted to accept gestures and selections from the employee operating the system in order to add items to purchase to the selected open check.
  • a third management function is to merge two or more open checks together.
  • the register instance receives through its user interface a selection of at least two open checks. Then, the employee can select a merge command. This results in the creation of a new open check, but the items from the selected open checks are incorporated into its data structure. When this is complete, the selected open checks are deleted.
  • the selected open checks are presented in the user interface by listing the items on the checks in a series of columns, arranged so that more than one column, i.e., more than list comprising each open check, can appear at once in the screen.
  • the register instance is then adapted to receive a selection of an item in one of the columns and to detect that the selection is being moved by a gesture input into the device's display unit, to a different column corresponding to a destination open check.
  • the two data structures of the source and destination open checks are updated to reflect that the item is removed from the source and added to the destination.
  • the data representing all of the checks and items are stored in a relational data base.
  • a number of data tables are created.
  • Each item that is added to an open check has its own database key.
  • each check has its own database key. Therefore, there is a table of items, where there is one column for the open check that the item corresponds to.
  • the system actually updates the open check entry in the item table for the moved item to refer to the destination open check.
  • the table for the open checks has a column entry for the employee user-id. When the transfer occurs, the entry in the table for that open check is updated to be the second employee's user-id.
  • the Register software operates as a local web stack, or web application, but the application runs locally on the computer operated as the cash register.
  • the computer operates a browser, which in the preferred embodiment, is a prism browser with limited functionality.
  • the browser accesses localhost3000, which runs the Mongrel web server application.
  • the web server operates various code modules that are Ajax tm and Java tm scripts. Also running locally is a local database, for example, HeidiSql or mySql.
  • the web application constituting the Register software instance can run on a hand-held computer, like an iPhone tm or Blackberry tm or similar so-called smartphone device.
  • the web server application also operates a background service that maintains interaction between the Register and the back office servers.
  • the background service When the Register processes a sale transaction, the background service is called to transmit the information to the back office computer.
  • the background service recognizes a request by the back office to update the data on the local computer and the updated is downloaded and stored.
  • security is enhanced by encrypting the Ajax and Java script code.
  • the installer program can take the unique numerical seeds derived from the hardware or some other password or user identifier to create a public/private encryption key pair that it uses to encrypt the code modules. The encrypting key is then erased. The decryption key is used to decrypt the code as it is requested to be run. This module can be inserted into the web server application so that it operates as a operating system service, which has enhanced security features as well.
  • the system is typically comprised of a central server that is connected by a data network to a user's computer.
  • the central server may be comprised of one or more computers connected to one or more mass storage devices.
  • the precise architecture of the central server does not limit the claimed invention.
  • the data network may operate with several levels, such that the user's computer is connected through a fire wall to one server, which routes communications to another server that executes the disclosed methods.
  • the precise details of the data network architecture does not limit the claimed invention.
  • the user's computer may be a laptop or desktop type of personal computer. It can also be a cell phone, smart phone or other handheld device.
  • the precise form factor of the user's computer does not limit the claimed invention.
  • the user's computer is omitted, and instead a separate computing functionality provided that works with the central server.
  • This may be housed in the central server or operatively connected to it.
  • an operator can take a telephone call from a customer and input into the computing system the customer's data in accordance with the disclosed method.
  • the customer may receive from and transmit data to the central server by means of the Internet, whereby the customer accesses an account using an Internet web-browser and browser displays an interactive web page operatively connected to the central server.
  • the central server transmits and receives data in response to data and commands transmitted from the browser in response to the customer's actuation of the browser user interface.
  • a server may be a computer comprised of a central processing unit with a mass storage device and a network connection.
  • a server can include multiple of such computers connected together with a data network or other data transfer connection, or, multiple computers on a network with network accessed storage, in a manner that provides such functionality as a group.
  • Practitioners of ordinary skill will recognize that functions that are accomplished on one server may be partitioned and accomplished on multiple servers that are operatively connected by a computer network by means of appropriate inter process communication.
  • the access of the website can be by means of an Internet browser accessing a secure or public page or by means of a client program running on a local computer that is connected over a computer network to the server.
  • a data message and data upload or download can be delivered over the Internet using typical protocols, including TCP/IP, HTTP, SMTP, RPC, FTP or other kinds of data communication protocols that permit processes running on two remote computers to exchange information by means of digital network communication.
  • a data message can be a data packet transmitted from or received by a computer containing a destination network address, a destination process or application identifier, and data values that can be parsed at the destination computer located at the destination network address by the destination application in order that the relevant data values are extracted and used by the destination application.
  • logic blocks e.g., programs, modules, functions, or subroutines
  • logic elements may be added, modified, omitted, performed in a different order, or implemented using different logic constructs (e.g., logic gates, looping primitives, conditional logic, and other logic constructs) without changing the overall results or otherwise departing from the true scope of the invention.
  • the method described herein can be executed on a computer system, generally comprised of a central processing unit (CPU) that is operatively connected to a memory device, data input and output circuitry (IO) and computer data network communication circuitry.
  • Computer code executed by the CPU can take data received by the data communication circuitry and store it in the memory device.
  • the CPU can take data from the I/O circuitry and store it in the memory device.
  • the CPU can take data from a memory device and output it through the IO circuitry or the data communication circuitry.
  • the data stored in memory may be further recalled from the memory device, further processed or modified by the CPU in the manner described herein and restored in the same memory device or a different memory device operatively connected to the CPU including by means of the data network circuitry.
  • the memory device can be any kind of data storage circuit or magnetic storage or optical device, including a hard disk, optical disk or solid state memory.
  • Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held, laptop or mobile computer or communications devices such as cell phones and PDA's, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as FORTRAN, C, C++, JAVA, or HTML) for use with various operating systems or operating environments.
  • the source code may define and use various data structures and communication messages.
  • the source code may be in a computer executable form (e.g., via an interpreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.
  • the invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
  • program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
  • the computer program and data may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed hard disk), an optical memory device (e.g., a CD-ROM or DVD), a PC card (e.g., PCMCIA card), or other memory device.
  • a semiconductor memory device e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM
  • a magnetic memory device e.g., a diskette or fixed hard disk
  • the computer program and data may be fixed in any form in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies, networking technologies, and internetworking technologies.
  • the computer program and data may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software or a magnetic tape), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web.)
  • the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including memory storage devices.
  • Practitioners of ordinary skill will recognize that the invention may be executed on one or more computer processors that are linked using a data network, including, for example, the Internet.
  • different steps of the process can be executed by one or more computers and storage devices geographically separated by connected by a data network in a manner so that they operate together to execute the process steps.
  • a user's computer can run an application that causes the user's computer to transmit a stream of one or more data packets across a data network to a second computer, referred to here as a server.
  • the server may be connected to one or more mass data storage devices where the database is stored.
  • the server can execute a program that receives the transmitted packet and interpret the transmitted data packets in order to extract database query information.
  • the server can then execute the remaining steps of the invention by means of accessing the mass storage devices to derive the desired result of the query.
  • the server can transmit the query information to another computer that is connected to the mass storage devices, and that computer can execute the invention to derive the desired result.
  • the result can then be transmitted back to the user's computer by means of another stream of one or more data packets appropriately addressed to the user's computer.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

This invention discloses a novel system and method for providing retail point of sale terminals that are connected securely over the Internet to a back-office service that manages the retailer's data as a service using a system that supports more than one retailer, each of which will have one or more point of sale terminals. The system is adapted to provide a function to manage open checks that correspond to retail customers whose transactions are pending. The system is also adapted to permit service personnel to manage open checks by splitting them into multiple checks or merging multiple checks into one check.

Description

    PRIORITY CLAIM AND INCORPORATION BY REFERENCE
  • This application claims priority as a continuation of U.S. patent application Ser. No. 14/747,828 filed on Jun. 23, 2015, which claims priority to provisional patent application No. 62/015,938 filed on Jun. 23, 2014. This application claims priority as a continuation in part to U.S. patent application Ser. No. 13/037,048 filed on Feb. 28, 2011, now issued as U.S. Pat. No. 9,317,844 on Apr. 19, 2016, which was a continuation of U.S. Provisional Patent Application No. 61/309,678 filed on Mar. 2, 2010, all of which are herein incorporated by reference in their entireties.
  • FIELD OF INVENTION
  • This invention is related to point of sale systems typically used in retail stores. The invention is a novel architecture that permits a retail store owner to obtain sale transaction data management as a service instead of purchasing such a system and maintaining it.
  • BACKGROUND
  • In typical point of sale systems for retail stores, a set of special purpose computers are positioned at the retail check-out locations. These are locally networked with a server located at the site of the retail store. For many retail stores, this requires a level of system maintenance responsibility that is beyond the staff capabilities of the retailer or too costly. In this invention, the point of sale system is designed so that it is provided as a service shared among participating retail vendors. With this kind of an architecture, the invention provides the service security, data integrity, robustness and redundancy.
  • This invention relates to a system and method for executing sale transactions and managing the data associated with the transaction, for example, pricing and inventory. Typical point-of-sale systems have dedicated point of sale devices that are connected over a local area network to a local server computer dedicated to that specific vendor's system. Other systems use credit card readers that are connected by a wide are network to a system that clears the transaction, but the actual sale transaction data is managed using the dedicated system. In general, these dedicated systems are costly to buy and maintain. As a result, there is a need for a sale transaction data management system that can be shared by more than one vendor and offered as a service to these vendors, rather than a system that each vendor has to own and maintain.
  • One aspect of a point of sale system is that it must provide a flexible way for service personnel in certain contexts to manage the retail customer transactions that they are responsible for. The invention relates to managing retail customer's checks so that the person providing service to the customer can manage multiple customers and their order traffic efficiently and with ease.
  • DESCRIPTION OF THE FIGURES
  • FIG. 1. Flow chart for processing open checks.
  • FIG. 2. Flowchart of system architecture
  • FIG. 3. Example screenshot of open check box icons with status display
  • FIG. 4. Example screenshot for selecting check display detail
  • FIG. 5. Example screenshot showing open check detail for adding items to check.
  • FIG. 6. Example screenshot of open check box icons with status display
  • FIG. 7. Example screenshot showing selection of open checks for transfer.
  • FIG. 8. Example screenshot showing selection of destination user for the transferred checks.
  • FIG. 9. Example screenshot showing verification user interface.
  • FIG. 10. Example screenshot showing creation of a new check for splitting.
  • FIG. 11. Example screenshot showing result of a split.
  • FIG. 12. Example screenshot showing command input screen for saving a split check.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • The typical embodiment of the system is centered around one or more servers that are hosted externally from the point of sale locations of the one or more vendors that use the system. Typically the servers are connected to the Register instances over a Wide Area Network, typically the Internet. A server is a computer containing or operatively connected, through a data network, one or more mass storage devices. The servers operate together as the repository of vendor information associated with the point of sale terminals. In the preferred embodiment, the terminals are typical personal computers operating an instance of the Register software. The servers are operatively connected to the point of sale terminals over a data network, a wide area network. In one embodiment, the Internet is the wide area network. The servers are accessed in several ways. The primary access is by means of the point of sale terminals. However, the servers are accessible from the Internet by other computers as well. The point of sale terminals is typically a personal computer running a typical operating system, for example, Windows™. In the preferred embodiment, a point of sale terminal is created by means of operating the Register software on a personal computer running Windows™.
  • Register Software Instance: Each computer at a point of sale location that acts as the transaction input interface or terminal is a typical personal computer running an instance of the point of sale software, or Register software. The Register software is designed to execute particular protocols that cause communication between the Register software instance and the servers. The protocol is designed to ensure that the Register software has access to that part of the database hosted by the servers associated with the vendor whose Register terminal is making the access. In this architecture, each Register instance communicates across the wide area network, including the Internet to the servers housing the database information associated with the vendor. In addition, the Register software is designed so that where a vendor has more than one terminal operating the Register software, the specific instance of Register that is accessing the server is identifiable by the database.
  • Once the Register software has been securely installed on a machine, the vendor personnel can use it to connect to their specific database operating on the server. An authorized vendor personnel is prompted to input the vendor identity, a user name and password to log in as the operator for the cash register station.
  • Once the Register instance has been initialized, the retail store personnel can use it to tally sales. The Register software presents a browser type interface with a user-customizable series of interactive screens that present the workflow typically used by that vendor. When a sale is made, the Register system looks in its local mass storage for the pricing associated with the unit sold.
  • At that point a transaction ticket is created, meaning a data object representing the transaction. That ticket contains a Register identifier, personnel identifier, item number, price and any other information the vendor has decided to associate with the transaction. The transaction ticket is transmitted to the server in conformance with the interactive protocol with the server.
  • When a transaction occurs on the Register, it pushes that information up to the back office server. The Register software contains several components that permit it to act as its own file server, database server and browser. The reason is that this provides simple robustness when the network connection over the WAN or Internet is down. The Register software maintains its own local database that mirrors the essential information present on the system server relevant to that Register license. When the system server is updated with new data for that vendor, where that Register instance is implicated, the server causes the database update to be transmitted down to the Register instance so that its database is updated. Likewise, the local database holds the transaction tickets. These are also transmitted to the system server when the network connection is re-established. As the transactions are processed by the system server, the status is updated both on the system server and the local Register software database. In one embodiment, the system does a data consistency check to be sure that the latest pricing and inventory data has been updated in the Register instance and that the latest transaction data in the Register has been updated in the back-office server database. When a work shift is opens on a given Register software instance, the Register software requests updates from back office system servers.
  • In yet another embodiment, the register instance can maintain more than one check. A check refers to a data structure representing one or more transaction items associated with a particular customer. In one example of the system, a check is created by the local register instance when the employee using the instance selects a command to create a new check. That check has a unique identifier associated with it so that the employee can create a second or multiple open checks. As each customer orders items to purchase, a reference to the items are added to the check data structure associated with that customer. Until a check has been paid for, that is, the check is processed for payment by the customer, the check status is that it is open. When the customer submits a credit card, cash or other payment mechanism, the check status is updated to be closed.
  • FIG. 1 shows a detailed flow chart that presents one embodiment of the invention. When the check is created, the sale begins (100). The data structure is automatically saved to the local disk (102). The employee can add items to the check (103). When that happens, the check is automatically saved to the local disk again. (102). When the check is first created (100), a default name is assigned to the check, for example “Walk in.” The check can also be formally named to correspond to the customer (104). If this happens, the check is automatically saved. The purpose of the automatic saving is to be sure that the local storage of transaction data is on the local mass storage device in case of some kind of interruption. In addition, in certain places of the system logic, the automatically saved check data structure is queued for storage on the back-office server system. (105). This is an additional data security feature because it prevents loss of the local register instance resulting in loss of the open check data.
  • The open checks are queued for the back-office save in order to prioritize network traffic and servicing by the back-office server. The queuing process can use a variety of schemes. In one embodiment, the queue operates a last-in-first-out scheme, so that the oldest open check that has not been saved has highest priority to be transmitted of those in the queue. Other schemes weighting schemes may be used to calculate a relative priority based on the status of the open check. In this case, the system calculates a priority score as a weighting factor times a condition value. The queue is then ordered based on the decreasing value of the scores. For example, the priority can be correlated with the size of the pending amount due in a given open check. As a check gets substantial in value, it becomes more important that it be backed up on the back-office server. In this case, the priority value is equal to the open check's amount due times some predetermined constant. Another queuing scheme involves using the age of the check to increase its priority. In this case, the priority value is the age of the open check times some predetermined constant. The priority value can be equal to some combination of the above. For example, the queue position of an open check may be equal to the linear combination of the priority value based on the amount of the check with the priority value of the age. This way, a very large check can be placed before a moderately old check and vice versa.
  • At some point, the open check is presented, or tendered to the customer for payment. (106) The tender can involve printing a receipt for approval, transmitting to the user's mobile device a screen display where the customer can use the mobile device user interface to receive permission to process payment or any other method of presenting a list of items on the check and the total purchase price or amount due. When the customer processes payment, the check is finalized. (107). When a check is finalized, the open check data structure is transmitted up to the server system for storage on the back-end server system. This saving process is higher priority than the queued saving processes because it involves a completed transaction. Therefore, the queued saves wait for the finalized transactions to be transmitted to the back-office server.
  • In yet another embodiment, the system manages the open checks while they are open. One management function is to pass an open check from one employee operating the register instance to another. This may occur when one employee is closing their shift, but the customer is still maintaining an open check. For this function, the first employee selects the open check by actuating the user interface of the first instance. FIG. 6. Then, the first employee enters a command to transfer the open check to another employee. FIG. 7. This may involve opening a menu item and selecting a predetermined name of a second employee who has logged into the register instance. When that selection has occurred, the system the automatically requests that the second employee verify that the selected open check be transferred to the second employee. FIG. 8. This is accomplished by the register instance presenting a user interface screen requesting a password from the second employee. The second employee then inputs the password. When the password is verified, the system then completes the transfer of the open check from the first employee to the second.
  • The transfer of an open check between employees can be accomplished by replacing the user-id that is part of or associated with the open check data structure stored on the local register instance (which would be the first employee's user-id) with the user-id of the second employee. This embodiment of the invention works where the two employees are logged into the same device or register instance. In another embodiment, each employee may have their own device with their own register instance. In this version of the invention, the device of the first employee transmits a data message embodying a request to the back-office that a transfer occur to the second employee. The back-office server logic is adapted to transmit a data message to the device operated by the second employee requesting the verification. When the second employee enters the verification data, either a local verification status or the data itself is transmitted up to the back-office server. The back-office server, conditioned on receiving such verification data, updates the data structure stored in the back office with the user-id of the second employee while transmitting the transferred open check data structure down to the second employee's device.
  • A second management function is to split an open check into two or more open checks. In this case, the employee operating register instance selects an open check using the user interface of the device. FIG. 9. The employee then can select a split command. This command may be selected more than once to automatically create one or more additional blank open checks. The employee can then select an item on the original open check and input a command to transfer that item from the original open check to one of the newly created open checks. When that transfer occurs, the item is deleted from the original open check. In this case, the data structure associated with the original open check is updated to delete the moved item, while the data structure of the new open check is updated to include the moved item. The employee can confirm saving the split. FIG. 11. When the two data structures are updated, they are automatically saved. In addition, any pending amount due for the bill is recalculated.
  • In yet another embodiment, the system is adapted to present a user interface screen to the user that presents all of the pending checks and the status of their order. This may be as a result of the user inputting a command to cause that summary display. FIG. 3. For example, each order that an employee is managing at the register instance can be displayed as a graphical icon in the form of a box. FIG. 2., FIG. 5. These boxes can be lined up with the name of the customer in the box. In addition, graphical objects can be presented within the box that indicate the status of the order. The status may include “Open”, “Order Entered”, “Order Sent”, “Check Printed”, “Payment Pending”. The data structure embodying the open check has an entry for that check's status. As the open check is used, that status is updated. For example, if the customer requests an item and it is entered into the system, the status is updated from “Open” to “Order Entered.” When a fulfillment section of the business is delivering the item to the customer, the order is automatically updated to “Order Sent”. When the open check is tendered to the customer, the status is updated to “Order Printed”. When the payment information is entered into the system, the status is updated to “Payment Pending.” When the payment transaction is completed, the open check is removed from the display list, although as a data item, it is saved on the back-office server. Once payment for a check has been processed, the user interface removes the icon for that check from the data structure that encodes the list of orders that are displayed on that management screen. The management screen can also act as a gateway to view or change the check. When the user selects one of the boxes representing an open check, for example, by actuating the user interface by a gesture in the location of the icon representing a check, the register instance switches user interface screens in order to display the detail of the items comprising the check. The screen may include an item selection menu. FIG. 4. In this state, the register instance is adapted to accept gestures and selections from the employee operating the system in order to add items to purchase to the selected open check.
  • A third management function is to merge two or more open checks together. In this embodiment, the register instance receives through its user interface a selection of at least two open checks. Then, the employee can select a merge command. This results in the creation of a new open check, but the items from the selected open checks are incorporated into its data structure. When this is complete, the selected open checks are deleted. In another embodiment of this invention, the selected open checks are presented in the user interface by listing the items on the checks in a series of columns, arranged so that more than one column, i.e., more than list comprising each open check, can appear at once in the screen. The register instance is then adapted to receive a selection of an item in one of the columns and to detect that the selection is being moved by a gesture input into the device's display unit, to a different column corresponding to a destination open check. When that selection and move process is completed, the two data structures of the source and destination open checks are updated to reflect that the item is removed from the source and added to the destination.
  • In the preferred embodiment, the data representing all of the checks and items are stored in a relational data base. In this manner, a number of data tables are created. Each item that is added to an open check has its own database key. Likewise, each check has its own database key. Therefore, there is a table of items, where there is one column for the open check that the item corresponds to. When an item is moved from one open check to another, the system actually updates the open check entry in the item table for the moved item to refer to the destination open check. Similarly, where the employee is transferring an open check to another employee, the table for the open checks has a column entry for the employee user-id. When the transfer occurs, the entry in the table for that open check is updated to be the second employee's user-id.
  • Operating Environment:
  • The Register software operates as a local web stack, or web application, but the application runs locally on the computer operated as the cash register. The computer operates a browser, which in the preferred embodiment, is a prism browser with limited functionality. The browser accesses localhost3000, which runs the Mongrel web server application. The web server operates various code modules that are Ajax tm and Java tm scripts. Also running locally is a local database, for example, HeidiSql or mySql. By arranging the local software components as Ajax and Java scripts accesses locally, the platform is device independent. In one additional embodiment, the web application constituting the Register software instance can run on a hand-held computer, like an iPhone tm or Blackberry tm or similar so-called smartphone device.
  • The web server application also operates a background service that maintains interaction between the Register and the back office servers. When the Register processes a sale transaction, the background service is called to transmit the information to the back office computer. Likewise, when the back office updates its inventory or other variables relevant to the Register, the background service recognizes a request by the back office to update the data on the local computer and the updated is downloaded and stored.
  • In one embodiment, security is enhanced by encrypting the Ajax and Java script code. The installer program can take the unique numerical seeds derived from the hardware or some other password or user identifier to create a public/private encryption key pair that it uses to encrypt the code modules. The encrypting key is then erased. The decryption key is used to decrypt the code as it is requested to be run. This module can be inserted into the web server application so that it operates as a operating system service, which has enhanced security features as well.
  • The system is typically comprised of a central server that is connected by a data network to a user's computer. The central server may be comprised of one or more computers connected to one or more mass storage devices. The precise architecture of the central server does not limit the claimed invention. In addition, the data network may operate with several levels, such that the user's computer is connected through a fire wall to one server, which routes communications to another server that executes the disclosed methods. The precise details of the data network architecture does not limit the claimed invention. Further, the user's computer may be a laptop or desktop type of personal computer. It can also be a cell phone, smart phone or other handheld device. The precise form factor of the user's computer does not limit the claimed invention. In one embodiment, the user's computer is omitted, and instead a separate computing functionality provided that works with the central server. This may be housed in the central server or operatively connected to it. In this case, an operator can take a telephone call from a customer and input into the computing system the customer's data in accordance with the disclosed method. Further, the customer may receive from and transmit data to the central server by means of the Internet, whereby the customer accesses an account using an Internet web-browser and browser displays an interactive web page operatively connected to the central server. The central server transmits and receives data in response to data and commands transmitted from the browser in response to the customer's actuation of the browser user interface.
  • A server may be a computer comprised of a central processing unit with a mass storage device and a network connection. In addition a server can include multiple of such computers connected together with a data network or other data transfer connection, or, multiple computers on a network with network accessed storage, in a manner that provides such functionality as a group. Practitioners of ordinary skill will recognize that functions that are accomplished on one server may be partitioned and accomplished on multiple servers that are operatively connected by a computer network by means of appropriate inter process communication. In addition, the access of the website can be by means of an Internet browser accessing a secure or public page or by means of a client program running on a local computer that is connected over a computer network to the server. A data message and data upload or download can be delivered over the Internet using typical protocols, including TCP/IP, HTTP, SMTP, RPC, FTP or other kinds of data communication protocols that permit processes running on two remote computers to exchange information by means of digital network communication. As a result a data message can be a data packet transmitted from or received by a computer containing a destination network address, a destination process or application identifier, and data values that can be parsed at the destination computer located at the destination network address by the destination application in order that the relevant data values are extracted and used by the destination application.
  • It should be noted that the flow diagrams are used herein to demonstrate various aspects of the invention, and should not be construed to limit the present invention to any particular logic flow or logic implementation. The described logic may be partitioned into different logic blocks (e.g., programs, modules, functions, or subroutines) without changing the overall results or otherwise departing from the true scope of the invention. Oftentimes, logic elements may be added, modified, omitted, performed in a different order, or implemented using different logic constructs (e.g., logic gates, looping primitives, conditional logic, and other logic constructs) without changing the overall results or otherwise departing from the true scope of the invention.
  • The method described herein can be executed on a computer system, generally comprised of a central processing unit (CPU) that is operatively connected to a memory device, data input and output circuitry (IO) and computer data network communication circuitry. Computer code executed by the CPU can take data received by the data communication circuitry and store it in the memory device. In addition, the CPU can take data from the I/O circuitry and store it in the memory device. Further, the CPU can take data from a memory device and output it through the IO circuitry or the data communication circuitry. The data stored in memory may be further recalled from the memory device, further processed or modified by the CPU in the manner described herein and restored in the same memory device or a different memory device operatively connected to the CPU including by means of the data network circuitry. The memory device can be any kind of data storage circuit or magnetic storage or optical device, including a hard disk, optical disk or solid state memory.
  • Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held, laptop or mobile computer or communications devices such as cell phones and PDA's, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
  • Computer program logic implementing all or part of the functionality previously described herein may be embodied in various forms, including, but in no way limited to, a source code form, a computer executable form, and various intermediate forms (e.g., forms generated by an assembler, compiler, linker, or locator.) Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as FORTRAN, C, C++, JAVA, or HTML) for use with various operating systems or operating environments. The source code may define and use various data structures and communication messages. The source code may be in a computer executable form (e.g., via an interpreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.
  • The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The computer program and data may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed hard disk), an optical memory device (e.g., a CD-ROM or DVD), a PC card (e.g., PCMCIA card), or other memory device. The computer program and data may be fixed in any form in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies, networking technologies, and internetworking technologies. The computer program and data may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software or a magnetic tape), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web.)
  • The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices. Practitioners of ordinary skill will recognize that the invention may be executed on one or more computer processors that are linked using a data network, including, for example, the Internet. In another embodiment, different steps of the process can be executed by one or more computers and storage devices geographically separated by connected by a data network in a manner so that they operate together to execute the process steps. In one embodiment, a user's computer can run an application that causes the user's computer to transmit a stream of one or more data packets across a data network to a second computer, referred to here as a server. The server, in turn, may be connected to one or more mass data storage devices where the database is stored. The server can execute a program that receives the transmitted packet and interpret the transmitted data packets in order to extract database query information. The server can then execute the remaining steps of the invention by means of accessing the mass storage devices to derive the desired result of the query. Alternatively, the server can transmit the query information to another computer that is connected to the mass storage devices, and that computer can execute the invention to derive the desired result. The result can then be transmitted back to the user's computer by means of another stream of one or more data packets appropriately addressed to the user's computer.
  • The described embodiments of the invention are intended to be exemplary and numerous variations and modifications will be apparent to those skilled in the art. All such variations and modifications are intended to be within the scope of the present invention as defined in the appended claims. Although the present invention has been described and illustrated in detail, it is to be clearly understood that the same is by way of illustration and example only, and is not to be taken by way of limitation. It is appreciated that various features of the invention which are, for clarity, described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable combination. It is appreciated that the particular embodiment described in the Appendices is intended only to provide an extremely detailed disclosure of the present invention and is not intended to be limiting. It is appreciated that any of the software components of the present invention may, if desired, be implemented in ROM (read-only memory) form. The software components may, generally, be implemented in hardware, if desired, using conventional techniques.
  • The foregoing description discloses only exemplary embodiments of the invention. Modifications of the above disclosed apparatus and methods which fall within the scope of the invention will be readily apparent to those of ordinary skill in the art. Accordingly, while the present invention has been disclosed in connection with exemplary embodiments thereof, it should be understood that other embodiments may fall within the spirit and scope of the invention, as defined by the following claims.

Claims (20)

What is claimed:
1. A method executed by a computer system comprised of a first register instance and a server for managing a first open check and a second open check comprising:
receiving through the register instance user interface a selection of the first open check; receiving through the register instance user interface a selection of an at least one item on the first open check;
receiving through the register instance user interface a command to transfer the selected at least one item to the second open check;
updating on the register instance the first open check in order to remove the at least one selected item from the first open check;
updating on the register instance the second open check in order to add the at least one selected item to the second open check;
transmitting to the server data comprising the updated first open check and the updated second open check;
updating a first database record stored on the server with the updated first open check; and
updating a second database record stored on the server with the updated second open check.
2. The method of claim 2 where the first and second open checks are displayed through the register instance user interface by listing the items comprising the first and second checks arranged in a corresponding first and second columns displayed on a computer screen comprising the register instance.
3. The method of claim 2 where the register instance receives a selection of an item in the first column and detects that the selection is being moved to the second column by detection of a gesture input into the register instance.
4. The method of claim 1 where the updating of the first open check step is comprised of updating an open check entry in an item table to refer to the second open check.
5. A method executed by a first register instance for managing at least one open checks comprising:
storing in a queue on the register instance at least one open checks;
automatically selecting an open check from the open checks stored in the queue, by the first register instance using a predetermined selection priority schema;
transmitting the selected open check to a server; and
synchronizing a copy of the selected check stored on the server with the selected open check stored on the register instance.
6. The method of claim 5 where the priority schema determines the monetary amount of the selected open check relative to the monetary amounts of the other open checks in the queue.
7. The method of claim 5 where the priority schema determines how long the selected open check has been in the queue since it was updated on the server as compared to the remaining at least one of the other open checks in the queue.
8. A method executed by a computer system comprised of a first register instance being operated by a corresponding first user, second register instance being operated by a corresponding second user and a server for managing at least one open checks associated with the first user comprising:
receiving a data message comprised of an identifier associated with first user and identifiers that correspond to the at least one open checks associated with the first register instance;
updating an at least one data structures stored on the server corresponding to the at least one open checks associated with the received identifiers to refer to an identifier associated with the second user as the authorized user associated with the at least one open checks; and
transmitting to the second register instance data comprising the at least one open checks.
9. The method of claim 8 further comprising:
receiving an authentication token from the second user associated with the second register instance and confirming the token's validity as a condition to executing either the updating step or the transmitting step.
10. The method of claim 8 further comprising:
changing a user-id entry in a row of a database table associated with one of the at least one open checks that is stored on the server to a user-id corresponding to the user associated with the second register instance.
11. A computer system for managing a first open check and a second open check comprising:
a first register instance running on a first computer and a server where the first register instance is comprised of program data that when executed causes the first register instance to:
receive through the register instance user interface a selection of the first open check;
receive through the register instance user interface a selection of at least one item on the first open check;
receive through the register instance user interface a command to transfer the selected at least one item to the second open check;
update on the register instance the first open check to remove the at least one selected item;
update on the register instance the second open check to add the at least one selected item;
transmit to the server data comprising the updated first open check and the updated second open check;
where the server is comprised of program data that when executed causes the server to update a database on the server to store the updated first open check and second open check.
12. The system of claim 11 where the program data further causes the system to display the first and second open checks through the register instance user interface by listing the items comprising the first and second checks arranged in a corresponding first and second columns.
13. The system of claim 11 where the program data further causes the register instance to receive a selection of an item in one of the at least one columns associated with the first open check and detect that the selection is being moved to a different column corresponding to the second open check by detection of a gesture input into the first register instance.
14. The system of claim 11 where the program data further causes the updating step to be comprised of updating an open check entry in an item table to refer to the second open check.
15. The system of claim 11 where the program data further causes the first register instance to: store in a queue at least one open checks;
automatically select an open check from the at least one open checks stored in the queue, by using a predetermined selection priority schema; and
uploads the selected open check to a server in order to synchronize a copy of the selected check stored on the server with the selected open check.
16. The system of claim 15 where the priority schema determines the monetary amount of the check relative to the monetary amounts of the other checks in the queue.
17. The method of claim 5 where the priority schema determines how long the selected check has been in the queue since it was updated on the server as compared to at least one of the other checks in the queue.
18. A method executed by a computer system comprised of a first register instance being operated by a corresponding first user, second register instance being operated by a corresponding second user and a server for managing an at least one open checks associated with the first user comprising:
receiving a data message comprised of an identifier associated with first user and identifiers that correspond to the at least one open checks associated with the first register instance;
updating an at least one data structures stored on the server corresponding to the at least one open checks associated with the received identifiers, to refer to an identifier associated with the second user as the authorized user associated with the at least one open checks; and
transmitting to the second register instance data comprising the updated open checks.
19. The system of claim 18 where the server is configured to further:
receive an authentication token from the second user associated with the second register instance and confirming the token's validity as a condition to executing the updating step.
20. The system of claim 18 where the server is further configured to:
change a user-id entry in a row of a database table associated with the at least one open check that is stored on the server to a user-id of the user associated with the second register instance.
US17/307,769 2010-03-02 2021-05-04 System and method for remote management of sale transaction data Abandoned US20210256491A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/307,769 US20210256491A1 (en) 2010-03-02 2021-05-04 System and method for remote management of sale transaction data

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US30967810P 2010-03-02 2010-03-02
US13/037,048 US9317844B2 (en) 2010-03-02 2011-02-28 System and method for remote management of sale transaction data
US201462015938P 2014-06-23 2014-06-23
US14/747,828 US11030598B2 (en) 2010-03-02 2015-06-23 System and method for remote management of sale transaction data
US17/307,769 US20210256491A1 (en) 2010-03-02 2021-05-04 System and method for remote management of sale transaction data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/747,828 Continuation US11030598B2 (en) 2010-03-02 2015-06-23 System and method for remote management of sale transaction data

Publications (1)

Publication Number Publication Date
US20210256491A1 true US20210256491A1 (en) 2021-08-19

Family

ID=54265393

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/747,828 Active 2034-07-01 US11030598B2 (en) 2010-03-02 2015-06-23 System and method for remote management of sale transaction data
US17/307,769 Abandoned US20210256491A1 (en) 2010-03-02 2021-05-04 System and method for remote management of sale transaction data

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/747,828 Active 2034-07-01 US11030598B2 (en) 2010-03-02 2015-06-23 System and method for remote management of sale transaction data

Country Status (1)

Country Link
US (2) US11030598B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220374977A1 (en) * 2013-09-27 2022-11-24 Wells Fargo Bank, N.A. Systems and methods for generating a banking activity feed
KR102485368B1 (en) 2018-01-15 2023-01-05 삼성전자주식회사 Electronic apparatus, method for controlling thereof and the computer readable recording medium
USD1003908S1 (en) 2020-10-30 2023-11-07 Stryker Corporation Display screen or portion thereof having a graphical user interface
USD1011360S1 (en) 2020-10-30 2024-01-16 Stryker Corporation Display screen or portion thereof having a graphical user interface
USD1008301S1 (en) 2020-10-30 2023-12-19 Stryker Corporation Display screen or portion thereof having a graphical user interface
USD1014514S1 (en) 2020-10-30 2024-02-13 Stryker Corporation Display screen or portion thereof having a graphical user interface
USD1012959S1 (en) 2020-10-30 2024-01-30 Stryker Corporation Display screen or portion thereof having a graphical user interface
USD1008300S1 (en) * 2020-10-30 2023-12-19 Stryker Corporation Display screen or portion thereof having a graphical user interface
USD1016078S1 (en) 2020-10-30 2024-02-27 Stryker Corporation Display screen or portion thereof having a graphical user interface
USD1040843S1 (en) * 2021-06-14 2024-09-03 Medos International Sarl Display screen or portion thereof with graphical user interface

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2977048A (en) * 1946-12-17 1961-03-28 Bell Telephone Labor Inc Automatic calculator
US20030212637A1 (en) * 2002-05-09 2003-11-13 Turner Michael B. Automated method and system for enrollment
US20040179224A1 (en) * 2003-03-12 2004-09-16 Toshiba Tec Kabushiki Kaisha Image processing apparatus and image processing method
US20050114285A1 (en) * 2001-11-16 2005-05-26 Cincotta Frank A. Data replication system and method
US20080208696A1 (en) * 2007-02-26 2008-08-28 Quentin Olson Point of sale system with web-based back-office
US20110231280A1 (en) * 2010-03-17 2011-09-22 Siamak Farah Cloud-based desktop and subscription application platform apparatuses, methods and systems
US8090402B1 (en) * 2003-09-26 2012-01-03 Iwao Fujisaki Communication device
US20130232017A1 (en) * 2012-03-04 2013-09-05 Tal Zvi NATHANEL Device, system, and method of electronic payment
US20140097241A1 (en) * 2012-10-08 2014-04-10 Carlos Tovar Payment Card Storage Apparatus and Tab Management System
US20140244409A1 (en) * 2012-03-04 2014-08-28 Tal Zvi NATHANEL System, device, and method of electronic payment

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6876971B1 (en) 2000-07-05 2005-04-05 Every Penny Counts, Inc. Funds distribution system connected with point of sale transaction
US6088682A (en) 1993-02-18 2000-07-11 Every Penny Counts, Inc. Funds distribution system connected with point of sale transactions
US5696909A (en) 1995-01-27 1997-12-09 Hypercom, Inc. Virtual POS terminal
US5678010A (en) 1995-06-07 1997-10-14 Compuserve Incorporated Automated routing of messages over a network
US5903873A (en) * 1996-05-31 1999-05-11 American General Life And Accident Insurance Company System for registering insurance transactions and communicating with a home office
USD401231S (en) 1996-08-12 1998-11-17 Citicorp Development Center Computer screen
US6002395A (en) 1996-10-31 1999-12-14 Ncr Corporation System and method for building, testing and integrating a graphical touch user interface
JP2000010689A (en) 1998-06-22 2000-01-14 Sharp Corp Free key layout setting device
USD436580S1 (en) 1999-03-04 2001-01-23 Sony Corporation Graphical user interface for a display screen
US7251632B1 (en) 1999-10-18 2007-07-31 Stamps. Com Machine dependent login for on-line value-bearing item system
US8646685B2 (en) 1999-11-05 2014-02-11 Lead Core Fund, L.L.C. Device for allocating a payment authorization request to a payment processor
US6938095B2 (en) 2000-06-28 2005-08-30 Pluris, Inc. Method and apparatus for establishing and sharing a virtual change notification list among a plurality of peer nodes
US7353181B2 (en) 2001-08-15 2008-04-01 Hewlett-Packard Development Company, L.P. Allocating freight haulage jobs
AU2002365257A1 (en) 2001-10-26 2003-07-24 Zeosoft Corporation Development, management of distributed clients and servers
US7523182B2 (en) 2001-11-27 2009-04-21 Isochron, Inc. Method and system for predicting the services needs of remote point of sale devices
US8190530B2 (en) 2002-01-30 2012-05-29 Visa U.S.A. Inc. Method and system for providing multiple services via a point-of-sale portal architecture
US20030172127A1 (en) * 2002-02-06 2003-09-11 Northrup Charles J. Execution of process by references to directory service
US20040177004A1 (en) 2002-03-29 2004-09-09 Mueller Raymond J. Digital advertisement board in communication with point-of-sale terminals
US7841514B2 (en) 2002-03-29 2010-11-30 Walker Digital, Llc Digital advertisement board in communication with point-of-sale terminals
US20030236755A1 (en) 2002-06-03 2003-12-25 Richard Dagelet Enhanced point-of-sale system
US7697920B1 (en) 2006-05-05 2010-04-13 Boojum Mobile System and method for providing authentication and authorization utilizing a personal wireless communication device
US20040120333A1 (en) 2002-12-24 2004-06-24 David Geddes Method and apparatus for controlling information flow through a protocol bridge
JP4334247B2 (en) 2003-03-07 2009-09-30 ビットワレット株式会社 Portable terminal device and electronic money server
US20040181454A1 (en) 2003-03-12 2004-09-16 Michael Manno Web-based point-of sale system
US20070015436A1 (en) 2003-04-21 2007-01-18 Halstead Scott M Game attractant
US9646451B2 (en) 2003-06-11 2017-05-09 Ncr Corporation Automated business system and method of vending and returning a consumer product
US20050021409A1 (en) 2003-07-16 2005-01-27 Michaud Gene R. Application service provider point of sale system and method
US7818679B2 (en) 2004-04-20 2010-10-19 Microsoft Corporation Method, system, and apparatus for enabling near real time collaboration on an electronic document through a plurality of computer systems
AU2005247050B2 (en) 2004-05-25 2010-12-23 Muxi Technologia Em Pagamentos S.A. System for accessing a POS terminal, method for downloading and updating applications and method for performing electronic operation using such a system
US20070156436A1 (en) 2005-12-31 2007-07-05 Michelle Fisher Method And Apparatus For Completing A Transaction Using A Wireless Mobile Communication Channel And Another Communication Channel
US7658323B2 (en) 2006-05-24 2010-02-09 Sun Microsystems, Inc. Point-of-service (POS) and POS application compatability
US7895345B2 (en) 2007-04-13 2011-02-22 Microsoft Corporation Distributed routing table architecture and design
US8948046B2 (en) 2007-04-27 2015-02-03 Aerohive Networks, Inc. Routing method and system for a wireless network
US8099727B2 (en) 2007-06-01 2012-01-17 Netapp, Inc. System and method for providing uninterrupted operation of a replication system during a software upgrade
US8195656B2 (en) 2008-02-13 2012-06-05 Yahoo, Inc. Social network search
WO2010033944A2 (en) 2008-09-22 2010-03-25 Visa International Service Association Over the air management of payment application installed in mobile device
US20100106651A1 (en) 2008-10-24 2010-04-29 Tate Drew L Real estate transaction management system
US20100125516A1 (en) 2008-11-14 2010-05-20 Wankmueller John R Methods and systems for secure mobile device initiated payments
DE102008062692B4 (en) 2008-12-17 2013-11-14 Texas Instruments Deutschland Gmbh Embedded microcontroller system and method for configuring an embedded microcontroller system with controlled switching mode
US9275407B2 (en) 2009-11-06 2016-03-01 Livingsocial, Inc. Systems and methods to implement point of sale (POS) terminals, process orders and manage order fulfillment
USD657368S1 (en) 2009-12-31 2012-04-10 Welch Allyn, Inc. Patient monitoring device with graphical user interface
US9317844B2 (en) 2010-03-02 2016-04-19 Shopkeep.Com, Inc. System and method for remote management of sale transaction data
JP2011191930A (en) 2010-03-12 2011-09-29 Toshiba Tec Corp Checkout processor and checkout processing program
US20110246284A1 (en) 2010-04-01 2011-10-06 Gary Chaikin Systems and Methods for Adding Functionality to Merchant Sales and Facilitating Data Collection.
US8380177B2 (en) 2010-04-09 2013-02-19 Paydiant, Inc. Mobile phone payment processing methods and systems
USD678306S1 (en) 2010-04-23 2013-03-19 Karl Storz Gmbh & Co. Kg Computer screen display and portion of a computer screen display with a graphical user interface
USD673165S1 (en) 2010-07-25 2012-12-25 Miniclip SA Display screen with graphical user interface
US10460363B2 (en) 2010-08-27 2019-10-29 Ethor Media Ltd. System, method and computer program for integrating diverse point of sale systems
US8756329B2 (en) 2010-09-15 2014-06-17 Oracle International Corporation System and method for parallel multiplexing between servers in a cluster
US20120084135A1 (en) 2010-10-01 2012-04-05 Smartslips Inc. System and method for tracking transaction records in a network
USD656946S1 (en) 2010-10-09 2012-04-03 Mindray Ds Usa, Inc. Anesthesia machine with user interface
JP6141769B2 (en) 2010-12-23 2017-06-07 ペイパル インコーポレイテッド ATM processing method and system for mobile phone
US10102591B2 (en) 2011-01-21 2018-10-16 Livingsocial, Inc. Systems and methods to implement point of sale (POS) terminals, process orders and manage order fulfillment
USD682855S1 (en) 2011-03-04 2013-05-21 Donmark Holdings Inc. Display screen with graphical user interface for a fire fighting bucket controller
USD690721S1 (en) 2011-04-28 2013-10-01 Smart Technologies Ulc Portion of a display screen with graphical user interface
DE202012100620U1 (en) * 2011-11-22 2012-06-13 Square, Inc. System for processing cardless payment transactions
US20150199667A1 (en) 2014-01-10 2015-07-16 Elo Touch Solutions, Inc. Cloud-based point-of-sale platform

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2977048A (en) * 1946-12-17 1961-03-28 Bell Telephone Labor Inc Automatic calculator
US20050114285A1 (en) * 2001-11-16 2005-05-26 Cincotta Frank A. Data replication system and method
US20030212637A1 (en) * 2002-05-09 2003-11-13 Turner Michael B. Automated method and system for enrollment
US20040179224A1 (en) * 2003-03-12 2004-09-16 Toshiba Tec Kabushiki Kaisha Image processing apparatus and image processing method
US8090402B1 (en) * 2003-09-26 2012-01-03 Iwao Fujisaki Communication device
US20080208696A1 (en) * 2007-02-26 2008-08-28 Quentin Olson Point of sale system with web-based back-office
US20110231280A1 (en) * 2010-03-17 2011-09-22 Siamak Farah Cloud-based desktop and subscription application platform apparatuses, methods and systems
US20130232017A1 (en) * 2012-03-04 2013-09-05 Tal Zvi NATHANEL Device, system, and method of electronic payment
US20140244409A1 (en) * 2012-03-04 2014-08-28 Tal Zvi NATHANEL System, device, and method of electronic payment
US20140097241A1 (en) * 2012-10-08 2014-04-10 Carlos Tovar Payment Card Storage Apparatus and Tab Management System

Also Published As

Publication number Publication date
US11030598B2 (en) 2021-06-08
US20150294288A1 (en) 2015-10-15

Similar Documents

Publication Publication Date Title
US20210256491A1 (en) System and method for remote management of sale transaction data
US11188885B2 (en) Processing network architecture with companion database
US11599848B2 (en) System and method for remote management of sale transaction data
US9965755B2 (en) System and method for remote management of sale transaction data
US10713630B2 (en) Apparatus and method for purchasing a product using an electronic device
US20150278789A1 (en) System and method for remote management of sale transaction data
CN112565055B (en) System and method for facilitating authentication of email sent by a third party
CN103942719A (en) Fraud detection method and system employing personalized fraud detection rules
CN103339636A (en) Creation of signatures for authenticating applications
US11615412B2 (en) Network data management and data security
US11829900B2 (en) System and method for remote management of sale transaction data
US20220351156A1 (en) Systems and methods for authentication using existing credential
US20140074578A1 (en) Method and system for activating and validating coupons
US20220198442A1 (en) Secure communications for mobile wallet applications
US12051069B2 (en) Web-based order processing system and techniques for processing orders via webpage non-fungible tokens
US20220351169A1 (en) System and method for device initialization by secondary user
US20150254784A1 (en) System and method for remote management of sale transaction data
US11522862B2 (en) Systems and methods for a trusted entity to facilitate authentication of emails sent by 3rd parties
US20140149289A1 (en) Method and Apparatus for the Restricted Transfer of Funds
CN107251067A (en) Front end transaction system
US11880834B2 (en) Data security for transactions with secure offer system
KR20240131383A (en) Method and system for providing proof of origin of digital receipt

Legal Events

Date Code Title Description
AS Assignment

Owner name: SHOPKEEP INC., NEW YORK

Free format text: CHANGE OF NAME;ASSIGNOR:SHOPKEEP.COM INC;REEL/FRAME:056366/0924

Effective date: 20170110

Owner name: LIGHTSPEED COMMERCE USA INC., NEW YORK

Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:SHOPKEEP INC.;LIGHTSPEED COMMERCE USA INC.;REEL/FRAME:056343/0615

Effective date: 20201125

Owner name: SHOPKEEP.COM INC., NEW YORK

Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:SHOPKEEP LLC;SHOPKEEP.COM INC.;REEL/FRAME:056343/0519

Effective date: 20120208

Owner name: SHOPKEEP.COM INC, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ORDWAY, JASON;REEL/FRAME:056343/0427

Effective date: 20150422

Owner name: SHOPKEEP LLC, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RICHELSON, JASON;REEL/FRAME:056343/0370

Effective date: 20100310

STPP Information on status: patent application and granting procedure in general

Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION