The invention relates to a method for transmitting notifications to users of a logistic system, in which the logistic system comprises one or more parcel compartment systems with one or more registered users, and in which the notification orders are transmitted to a central sending component which, on the basis of the orders, generates appropriate notifications and sends them to the users whereby, in order to generate the notifications, the sending component accesses one or more databases.
The invention also relates to a system for transmitting notifications to users of a logistic system that operates one or more parcel compartment systems.
In order to operate a logistic system with a plurality of users and one or more logistics providers, certain information has to be transmitted to the subscribers of the system. The transmission of information is hereinafter referred to as notification. Such notifications can take place via one or more different types of communication.
Notifications are sent on the basis of events that have occurred within the logistic system. In this context, an event in the logistic system can trigger no notification or else one or more notifications. The allocation of events of the logistic system to notifications can be carried out within a notification component as a function of a business logic.
Notifications can be transmitted via different types of communication. Here, the type of communication is the manner in which a notification is delivered. As a matter of principle, a notification with the same information content can be delivered via several types of communication.
A logistic system with different notifications and types of communication is needed, especially when a parcel compartment system for registered users is operated by a transport and delivery company. Such parcel compartment systems or automatic parcel delivery machines are operated, for example, by a postal service provider for registered users for whom a deliverer deposits parcels or other shipments into a compartment of the system. The user then has to be notified that a parcel has been deposited for him. Moreover, the logistic system has to be informed, for example, as to whether a user has picked up his parcel. Furthermore, information on the registration of new clients, client data, pick-up deadlines and COD charges has to be exchanged within the logistic system.
Within a logistic system for parcel compartment systems, notifications are typically sent by e-mail or SMS. The generation, administration and sending of the notifications preferably involves various databases and process sequences.
The use of logistic systems is known for the distribution of goods. The goods to be distributed can be all kinds of products, materials and objects. Logistic systems serve to organize and monitor the distribution of the goods in question, for example, between warehouses, intermediate storage facilities, containers, vehicles, senders and recipients via different routes of transportation. The functions of logistic systems are advantageously adapted to the requirements in such a way that the distribution of the goods can be optimized, for example, in terms of routes of transportation, capacity utilization, storage times and data transmission.
The applicant makes use especially of logistic systems for distributing letters and goods (parcels, packages), transportation boxes, pallets and containers. The appertaining logistic systems preferably serve to distribute shipments between a sender and a recipient, whereby, for example, criteria such as transportation speed, utilization of warehouses and vehicles and the transmission of shipment data are of importance.
German Utility Model 201 03 564 U1, for example, discloses a system for delivering and receiving shipments which seems to be particularly suitable for e-commerce. The system comprises several automatic delivery machines (ADM) in which shipments are deposited and picked up. The system also comprises a LAMIS server-computer program for handling the operations of the system. The client is informed, for example, via types of communication such as e-mail, about shipments deposited for him at the ADM.
Furthermore, U.S. Pat. No. 6,047,264 discloses a method for transmitting the status of a shipment of a user in which an entry in a central database is generated when a user orders a shipment. If the status of the shipment changes, for example, when it is transferred to a delivery company, when it is transported to various stations or when it arrives at the destination, then the status change is collected in the database. This collection can be carried out manually or electronically. Via a query module, a notification component continually requests status changes from the database and generates messages to the user of a shipment for which the status has changed. The notification is preferably made by e-mail.
International patent application WO 02/50705 A1 describes a distribution system for electronic documents such as e-mails. These e-mails contain, for example, attachments for advertising purposes. The system aims to prevent the drawbacks of existing e-mail systems such as, for instance, the fact that a sender cannot receive information as to whether a recipient has opened the attachment to an e-mail, or whether the sender does not have software that would be needed to open a file. Moreover, it sends statistical information to the sender when a recipient has opened an electronic document. The system consists essentially of a generating module that generates a master document from a template and from selectable information of a sender. The master document is checked and transferred to a sending module that sends the document to one or more recipients.
U.S. Pat. No. 6,220,509 B1 discloses a parcel trace system in which status information about a shipment is recorded directly in the client database. In this case, the client database is preferably accessed via an Internet web page.
European patent application EP 0 491 367 A2 discloses a method for processing messages in which orders are stored in a queue in order to be executed in a controlled manner. Here, the orders can be adapted to different conditions and features of the destinations and to communication connections. The method is especially well-suited for use in e-mail systems.
The objective of the invention is to provide a method and a device for transmitting notifications to users of a logistic system which allows the most flexible response possible to different events within the system and the generation of user-specific notifications. In this context, the logistic system should encompass the operation of at least one electronic parcel compartment system.
According to the invention, this objective is achieved by the subject matter of the independent Claims 1 and 5. Advantageous embodiments of the invention ensue from the subordinate claims 2 to 4.
According to the invention, this objective is achieved in that, in response to different events within the logistic system, different modules with associated functions are called up in each case, whereby the modules generate notification orders that are transmitted to a central sending component which, on the basis of the orders, generates appropriate notifications and sends them to the users.
Additional advantages, special features and practical embodiments of the invention ensue from the subordinate claims and from the presentation below of preferred embodiments, making reference to the figures.
The figures show the following:
Below, a logistic system is described for operating a system comprising one or more parcel compartment systems with a variable number of registered users. This is an especially preferred embodiment of the invention, but the method according to the invention is also suitable for other logistic systems in which notifications are sent.
The logistic system for operating one or more parcel compartment systems is divided, for example, into at least the following processing steps on the basis of the functions:
Notifications are sent to the user for the above-mentioned events within the system and these notifications inform the user of the event and/or confirm it. In an especially preferred embodiment of the invention, the execution of the individual processing steps is carried out by various modules and/or units of the logistic system. These modules can be, for example, a client database, a registration unit or a system administration unit for the logistic system. The modules, optionally together with other components, form an external interface 10.
The sequence and the function procedure call within the modules are explained below. The notification orders generated by the modules are either transferred to a central sending component 30 so that they can be sent immediately or else they are read into a communication request queue 40 so that they can be sent in a deferred manner. All of the waiting notification orders are regularly read from this queue and appropriate notifications are sent. Generated notifications are preferably sent by e-mail or SMS.
UC BNK1 Confirmation of the Registration
After the registration of a new client for the logistic system of the parcel compartment systems, a registration module calls up a function
After a client has changed his client data that is stored in a client database, the client database calls up a function
When a parcel is delivered to an automatic parcel delivery machine of a logistic system, information to this effect is sent to a system administration unit for the logistic system. The system administration unit for the logistic system calls up a function
When a parcel has been picked up from an automatic parcel delivery machine of a logistic system, information to this effect is sent to the system administration unit for the logistic system. The system administration unit for the logistic system then calls up a function
When a parcel has been sent back from an automatic parcel delivery machine of a logistic system because it was not picked up before a certain pick-up deadline, information to this effect is sent to the system administration unit for the logistic system. The system administration unit for the logistic system calls up a function
When a substitute has been added for a waiting parcel in an automatic parcel delivery machine of a logistic system, information to this effect is sent to the system administration unit for the logistic system. The system administration unit for the logistic system then calls up a function
When an added substitute has been removed for a waiting parcel in an automatic parcel delivery machine of a logistic system, information to this effect is sent to the system administration unit for the logistic system. The system administration unit for the logistic system calls up a function
In addition, for example, the following events can be mapped by functions within modules:
Automatic parcel delivery machine not functional notifyADMfailed
(Parcel parcel, Boolean failure)
Generic notification genericNotification
(Parcel parcel, Addressable add, int type)
Notification to delivery provider: parcel delivered
notifyDeliveryProvider (Parcel parcel)
Notification to delivery provider: parcel removed
notifyPickupProvider (Parcel parcel)
Branch
notifyBranch (String description, DeliveryMachine adm, Addressable recipient, Boolean branchCODparcel)
Product lock
notifyWarehouseDelivery (String description, DeliveryMachine adm, Addressable recipient)
Address check failed
notifyAdressCheckFailed (String description, Addressable recipient)
Internet password
notifyInternetPassword (String description, Addressable recipient)
Generic message text
notifyGenericMessageText (String description, Addressable recipient)
Delivery returns provider
notifyDeliveryReturnsProvider (Parcel parcel)
Pickup returns provider
notifyPickupReturnsProvider (Parcel parcel)
Pickup by delivery agent provider
notifyPickupByDeliveryAgentProvider (Parcel parcel)
E-mail changed
notifyEmailChanged (Addressable recipient)
Mobile phone number changed
notifyMobileNumberChanged (Addressable recipient)
Postal PIN changed
notifyPostPinChanged (Addressable recipient)
Password changed
notifyInternetPasswordChanged (Addressable recipient)
Notifications are preferably sent in the form of an e-mail or SMS. An e-mail or SMS gateway, for example, can be used for this purpose.
In order to use the method according to the invention in actual practice, it has proven to be advantageous for the list of undeliverable notifications to be revised manually at regular intervals (e.g. every 24 hours).
The drawings in FIGS. 1 to 4 show an overview of the most important partial components of an especially preferred embodiment of the system according to the invention. The external systems are marked with cross-hatching, whereas the parts belonging to the notification system are shown in white.
The drawing in
The drawing in
The drawing in
The drawing in
Below, the individual components of the system and their functions within an especially preferred embodiment of the method according to the invention will be explained in greater detail.
External Interface
The external interface 10 is connected to the notification component and results in a straightforward manner from various Use Cases: for each Use Case, preferably a function of its own is defined that achieves the requisite functionality within the notification component.
These functions correspond to the events of the logistic system and relate, for example, to parcel objects and/or user objects. The functions can, of course, be expanded and can also relate to other objects.
The parcel or user objects in question each receive methods. Internally, the event of the logistic system is converted into notifications that are temporarily stored in the internal queue 40. The result provided by the methods gives feedback as to whether this conversion and temporary storage functioned or not.
Template Mechanism
Requisite Templates
Various types of notifications can be sent for which it has proven to be advantageous to create templates 110 and to store these in a document database. The types of notifications are mapped by means of a template name that classifies the templates on the level of the information content of the notification. For the B2B case, for example, the following templates are needed:
Parcel has been Waiting for 48 Hours BNK4, BNK4N
Template variants for parcels with COD and parcels without COD can be used for the last three types of parcel notifications. In addition to the name, the templates are also identified via the DeliveryContract, the type of communication and the language. In addition to the described templates, of course, any number of other templates can be used.
Templates should be available for all notifications to be sent in the form of SMS as well as e-mail. For sending by e-mail, templates should preferably be available for the message text as well as for the reference line.
Database Storage
In order to simplify the management of the templates 110, they are stored in a database 100. In an especially preferred embodiment of the invention, this database comprises several fields that are depicted in table form below:
It should be noted that, as a function of the event of the logistic system for notification, the database key ‘Contract’ can be a LogisticProvider or a LogisticContractor (in the case of BNK1 and BNK2) or else a DeliveryContract (in the case of BNK3 to BNK5).
Placeholder Mechanism
It has proven to be advantageous to use various placeholders within the templates 110 which can be replaced with concrete information. With an eye towards the use of HTML-formatted e-mails, these placeholders should advantageously not be defined as HTML tags.
At least the following placeholders can be provided:
In addition to the described placeholders, of course, other placeholders can be used as well.
Message Length
The maximum length for SMS messages is typically 160 characters. Since certain information—such as the location of the event of the automatic parcel delivery machine of a logistic system—can have variable lengths, excessively long fields (e.g. streets or cities with city district information) can cause an ‘overflow’ of the 160 characters. In order to avoid such an ‘overflow’, in an especially preferred embodiment of the invention, an intelligent mechanism is employed which, depending the individual field lengths, on the importance of each field and on the available remaining length, contains all of the essential information to the extent possible.
An alternative to an intelligent mechanism is the storage of short versions of all of the fields in the appropriate databases so that the maximum length of 160 characters is never exceeded. However, this has the drawback that changing SMS templates entail new length limitations. Thus, certain information such as the address entered by the client cannot be easily adapted.
B2B DeliveryContract Logic
The B2B DeliveryContract logic 20 determines what the individual business logic should look like for a certain LogisticProvider, a certain LogisticContractor, and a certain DeliveryContract (between a certain logistic provider and a certain logistic contractor). For this purpose, the individual events are converted into notification orders. The events of the logistic system newRecipient and updateRecipient depend only on the LogisticProvider or LogisticContractor with which the corresponding user is associated. The other events of the logistic system relate to the delivery of parcels, that is to say, they depend on the LogisticProvider (who transports the parcel) as well as on the LogisticContractor (who defines the recipient or deliverer of the parcel). In order to implement the logic, a list of notifications to be sent (communication requests) is defined for each event of the logistic system. These communication requests comprise several parameters that can be set.
Events of the Logistic System
Multiple notifications can be stored for each event, for example, if repeated notifications are made, or if several persons with different roles are to be informed.
Persons to be informed are those persons which are to be notified. Possible values are: Recipient, Substitute, LogisticProvider or LogisticContractor.
A date is specified on which the notification is to be sent. In the logic, only a relative date is stored and this is then computed with the date of the event of the logistic system in order to generate an absolute date. Possible values here are, for example:
Immediately the notification is sent immediately
+X time units the notification is sent in X time units
−X time units the notification is sent X time units before the expiry of the parcel
A certain type of communication can be specified. This is needed, for instance, if a certain logic only allows notifications by SMS. Possible values are e-mail, SMS and User (the type of communication specified for the user). In this manner, for example, a delivery contract logic can be mapped that exclusively allows notifications via a specific type of communication.
Preferably, the possibility exists to select a template 110 that is to be used for the transmission. This has the advantage that different texts can be rendered useable within the same delivery contract, for example, for different events of the logistic system. In addition, the template is always further limited by the current DeliveryContract. Thus, a certain template (e.g. BNK1) can also have different contents for two different DeliveryContracts. Moreover, different versions of the same templates can be kept available for the different types of communication.
Furthermore, additional information can be stored that is used for differentiating within the business logic or that is used for checking the logic later on, such as the two possible pieces of information described below:
Differentiation in the Case of COD Parcels
Here, a different template is used for parcels with a set COD amount. This template contains, for example, the COD amount as information for the person picking up the parcel.
There are B2B processes in which a COD amount is present for the parcel, but this amount is not transmitted to the person picking up the parcel since the COD is invoiced, for example, via combined billing.
Checking Whether a Parcel was Picked Up
This is a checking operation is carried out to see whether a parcel is still in the automatic parcel delivery machine of the logistic system or whether it has been picked up in the meantime. This is particularly helpful if reminder notifications are sent, for example, after a few days.
The parcel object has to provide a method that provides feedback on the expiry date on which the parcel will be removed from the automatic parcel delivery machine. This is needed in order to be able to transmit notifications X days before the expiry. If no expiry date has been set, then as a standard procedure, a certain number of calendar days can be assumed.
LogisticProvider DPAG (B2C Case)
The following table is an example defining the notifications to be sent (communication requests) at the time of the registration of users for a LogisticProvider. These are the deliverers, no notifications are sent.
LogisticContractor Final Client (B2C Case)
The following table is an example defining the notifications to be sent (communication requests) at the time of the registration of users for a virtual LogisticContractor ‘final client’. This is where all of the users who are registered for the B2C case are compiled.
Delivery Contract Logic→Final Client (B2C Case)
The following table is an example defining the notifications to be sent (communication requests) for the B2C logic between a logistic provider and the final client:
LogisticProvider LP (B2B Case)
LogisticContractor LC (B2B Case)
DeliveryContract Logic LP→LC (B2B Case)
CommunicationRequest Queue
A dedicated database table is needed in which orders for notifications (communication requests) to be sent are temporarily stored. The table should preferably only serve to manage the queue; concrete information on parcels and recipients, for example, is always read from the client database 70 or from the parcel database 80.
However, it can be advantageous to expand the fields of the communication request queue. For example, automatic parcel delivery machine numbers and free text descriptions can be added. In this manner, notifications are not only coupled to parcels but optionally also to a combination of postal numbers, events and automatic parcel delivery machine numbers. Moreover, the possibility exists to generate notifications dynamically.
With the Comm_Type entry, via a value User, it can be specified that the notification is to be made via the type of communication specified by the user. Analogously, the value User can be entered for the language setting Lang if the settings of the user are to be used. Whether and the extent to which a logging of an entry (status=3) is necessary depends on the concrete implementation.
Access to Databases
Access to'the following databases of the logistic system has to be provided:
The notification component regularly checks all of the orders in the communication queue 40. This is triggered by a timer 41 within the notification component. The timer interval can preferably be configured freely.
Communication Queue Reader
When the timer function is called up, all of the entries whose sending date is after the current date are read from the communication request queue 40.
Reconstruction of the Objects
Each entry that is read from the queue is converted into a CommunicationRequest object. On the basis of the unambiguous ID for the user to be informed (RecipientID) and of the ID for the parcel (ParcelID), the partial objects in question are reconstructed. This is necessary in order to be able to query the current data of the objects such as, for example, the e-mail address.
The term User in this case refers either to a User, a LogisticProvider object or a LogisticContractor object. All of these objects implement a shared interface Notifiable. This provides the methods needed for sending a notification to the appertaining object. The Parcel object can optionally be dispensed with if, for example, a notification is to be sent independent of a parcel delivery, for example, in case of a client registration.
The Parcel object, in turn, provides a method by means of which the automatic parcel delivery machine in which the parcel is located can be accessed.
The read-out data of the objects comprises data to be transmitted (such as name, address, location of the automatic parcel delivery machine) as well as control data (such as e-mail and/or SMS, e-mail address).
Logic Checking
The communication requests that are read from the queue 40 are checked against the B2B DeliveryContract logic 20 to see whether they are still valid notifications. If only one single checking procedure is carried out, there is a need to check against the data from the parcel database 80 to make sure that the parcel has not yet been picked up. If the parcel was picked up in the meantime, the notification is considered to have been completed. For this purpose, the status of the communication request is removed from the internal queue of the orders that are still to be processed (the status is set at 2=completely processed).
If the parcel in the parcel database 80 no longer exists, it is assumed that it was picked up in the meantime, and the communication request is likewise removed from the internal list of orders that still have to be processed.
Central Sending Component
The notifications are transferred to the central sending component 30. There, based on type of communication indicated in the communication request and on the settings of the user, it is ascertained which type of communication is to be used to deliver the notification. Here, an error might occur if a certain type of communication is specified but the user does not support this type of communication.
If only one type of communication is desired, then the desired SPI (Service Provider Interfaces) are called up directly. If the user desires a notification via several types of communication, measures have to be taken in case the notification is successful via the first type of communication but not via the second. Then, this second type of communication has to be attempted repeatedly without once again using the first type of communication. For this purpose, it is best to issue a duplicate of the CommunicationRequest object for each desired type of communication and to then transfer it to the appropriate SPI.
Sending Via Individual Types of Communication
The individual types of communication are mapped via so-called SPI's (Service Provider Interfaces). There is such an SPI for each type of communication. Each SPI is called up with the communication request object. As a function of the data in this object, an e-mail and/or SMS is created. For this purpose, the appropriate template 110 is read in, and the placeholders are replaced by the information read from the appropriate database.
Delaying the Sending
A possible desired restriction pertaining to the sending of notifications is that processing at night (e.g. 10:00 p.m. to 6:00 a.m.) is suppressed either entirely or only for SMS notifications. If a complete discontinuation of the sending is desired, this can be achieved, for instance, by means of the timer. However, since e-mails do not cause a disturbance, it is preferable to suppress only the sending of SMS notifications at night. For this purpose, the sending is interrupted within the SMS SPI's and the sending date is set at the next appropriate time within the permissible window of time. At the first occasion when the timer reaches this window of time, the communication request is read again and executed.
Plausibility Checks
The notification component carries out a plausibility check of the data to be transmitted. The client has to exist in the client database 70 and the parcel has to exist in the parcel database 80. If, for example, a client has already been deleted, a notification is no longer sent. Moreover, information about the automatic parcel delivery machine (location) has to be present. It is checked whether the recipient address (e-mail or mobile phone number) is potentially correct and whether all of the placeholders of the template 110 can be filled with data. Moreover, the existing templates must have certain plausibilities: as a function of the template type (this, in turn, varies in terms of the language, the type of communication and the B2B logic), the following important data fields have to be present in the templates:
If a template is not present or if it does not have any appropriate entries, the sending is discontinued and an appropriate error message is generated in a LOG file. The templates should be checked. If the sending is carried out by SMS, an intelligent mechanism can adapt the messages to a maximum length of 160 characters.
Carrying out the Sending
The mechanism described in the section TemplateMechanism generates the text to be sent. The text and the recipient information are transmitted to an e-mail or SMS gateway 120 as a function of the type of sending. If the transmission to the gateway fails, then a second transmission can be attempted right away in order to more easily be able to overcome brief malfunctions.
Storing the Result
If the entire procedure was successful, then, in an especially preferred embodiment of the invention, the entry is deleted from the queue of outstanding orders in that the field state is set at ‘2’. At the same time, the field CompletionDate is set at the current date+time of day. Such entries in the communication queue 40 are not further processed. They should advantageously remain available in the communication queue for a certain period of time for the eventuality that a notification might be undeliverable.
An error can occur for a number of reasons:
If an error occurs, the field ‘RetryCount’ is increased. If the RetryCount exceeds a predefined value (this is also dependent on the frequency of the timer), an error message is generated in a LOG file and, for example, a manual re-processing is initiated. This can be, for instance, a check of the stored data or a manual removal of entries from the communication queue. In order to prevent these erroneous notifications from being attempted time and again, the status is set at ‘9’ as soon as a certain RetryCount has been reached. These notifications are not processed. Moreover, the current date is stored as the date of the interruption in the field CompletionDate. After elimination of the error, the status has to be manually set at ‘1’ again. The CompletionDate and the RetryCount likewise have to be reset.
Regular Clean-Up
Regular ‘clean-up’ of the communication request queue is necessary. All of the completed cases that have been finished for longer than a certain period of time (for example, one week) should be removed from the database. Moreover, all of the error cases that are older than one month should be removed from the communication request queue. The date of the completion or interruption is stored in the field CompletionDate. For example, the following is executed:
Logging Mechanism
Errors in sending e-mails or SMS should also be logged in an error LOG file. These LOG files have to be monitored regularly, for example, so as to be able to ascertain the failure of a gateway. Furthermore, at least in the first phase, all sent notifications should likewise be logged. For this purpose, a dedicated LOG file is used in order to simplify the error monitoring.
Design Proposals and Restrictions
There are several alternatives for the implementation of the timer. It can be realized
Preference is given to the first variant. There are also several possible alternatives for carrying out the e-mail and SMS sending procedures:
Here, the first two variants are preferred.
Layout
The notification component does not have to comprise any surfaces or Internet pages. However, different templates are necessary for the individual notifications. It is advantageous here for the templates to be readily exchangeable. The templates depicted in the following sections are merely embodiments by way of example. Of course, any desired notification texts can be integrated with the appropriate placeholders.
BNK1=Confirmation of the Registration
Notification by E-Mail
Notification by SMS
Welcome to the packing station. Your membership number is>M_NR<
BNK2=Confirmation of Change in the Client Data
Notification by E-Mail
Notification by SMS
BNK3=Notification ‘New Parcel’
Notification by E-Mail
Notification by SMS
BNK3N=Notification ‘New Parcel with COD’
Notification by E-Mail
Notification by SMS
BNK4=Notification ‘Parcel has Been Waiting for 48 Hours’
Notification by E-Mail
Notification by SMS
BNK4N=notification ‘Parcel with POD has Been Waiting for 48 Hours’
Notification by E-Mail
Notification by SMS
BNK5=Notification ‘Parcel Will be Removed in 48 Hours’
Notification by SMS
BNK5=Notification ‘COD Parcel Will be Removed in 48 Hours’
Notification by E-Mail
Notification by SMS
Requirements of Other Components
Object Parcel
An object Parcel has to be provided that supplies information about a parcel that is identified by an unambiguous parcel number:
The object Machine allows access to the automatic parcel delivery machine database 90, which is identified by the automatic parcel delivery machine ID.
The object User supplies information about a client who is identified by the client number. The object LogisticProvider allows access to the logistic provider database. The object LogisticContractor supplies information about a logistic contractor.
In order to further improve the procedure, it can be advantageous to carry out the following measures individually or together:
Especially preferred embodiments of the invention, however, are:
Number | Date | Country | Kind |
---|---|---|---|
102 38 340.5 | Aug 2002 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/DE03/02647 | 8/6/2003 | WO | 2/9/2005 |