Comunication service - vespolina/vespolina-sandbox GitHub Wiki
See also Communication service draft
Intoduction
The communication service should be composed by 2 main elements
- On screen messages
- Notifications
Please note that this service is not aimed to register all the possible notifications that a system can provide, but more is an interface service, so basically the business specific notifications should be embedded inside the application or the bundle.
1. On screen messages
This type of communication is a particular notification section because is meant to handle and improve the user experience when using the website. The messages notifications could be classified in 4 major types that can be used in all over the application. Those 4 types of messages are:
- Information This message type is meant to be used when the system detects that some of the elements are missing, but they are not mandatory.
- Warning This message type is meant to be used when the system detects that some of the requirements are not fulfilled, and there might be a chance of errors. This message type could be used for example to notify the user that some of the products that he ordered might not be available.
- Error This message type is meant to be used when the system is failing because of the user input. This message type could be used for example when user is trying to order a product, but the payment method chosen is not supported
- Success This message type is meant to be used when the system has succeeded to perform an action. This message type could be used for example when user has successfully changed his password.
2. Notifications
This type of communication is meant to handle the communication between the user and system through 3rd party communication channels. The elements in this communication channel could be classified by 2 categories.
-
Channel
- sms
- fax
- letter
- phone
- SOAP
- REST
-
type
- Email
- user
- not logged in some time This notification is used to remind the user that has an account in the system, but he did not logged in for an amount of time.
- forgot password This notification is used to help the user to reset the password of his account
- change contact email This notification is used to validate the user new user email if the email is changed
- order
- new order This notification is used when a new order is issued. usually there are 2 mails that could be sent. 1 to customer as proof of his order, and 1 for the sales team (2nd email i think is good for small business, when a small amount of orders are issued on a daily basis).
- the order changes the status This notification is used when the order changes the status (as in the order has been placed in a order queue, has been accepted, has been declined or delayed)
- the order gets modified In some certain situations an order can be modified (by the customer or by the staff ). For example: the customer realizes that does not enough money or he do not need a product. The staff member sees that he does not have enough product in stock so is editing the order by splitting it in 2 parts.
- the order needs a confirmation to be modified This is the notification that is going to be used when a staff member asks a customer to change the order.
- The order receives the confirmation to be modified This notification is used whenever a client accepts or rejects an order modification
- the order is canceled or closed This notification is used when the order is closing (2 possible situations - the order is canceled by the client or get closed by the staff)
- The order get into a freezed state This notification is emitted when the order get into a special state when it cannot be modified or canceled. Usually this status is used when the order needs a confirmation from customer, or if the order gets into the delivery stage
- billing
- the bill is emitted This notification is used when the user would finalize the order, containing or not an attachment having the copy of the bill.
- The bill becomes overdue This notification is used when the bill becomes overdue
- The bill get's canceled This notification is used when the bill would get canceled. There are some situation when the bill would get canceled.
- delivery
- The delivery has been initiated This notification is used when the order is being closed, and the result of the order it is created as a delivery object known as package
- The delivery has left the deposit This notification is used when the package is starting the journey towards the delivery address
- The delivery has reached a distribution node more often the packages would be send using delivery services like UPS, DHL, and the packages would pass through various delivery nodes.
- The delivery process is closing After the package is being delivered a notification would be sent in order to notify the staff and also the client that the transaction is complete.
- user
- Email
Another
Although the system would have some built in notifications, there should be created an interface that would have to handle several things:
- New notifications A system that would allow the developers to create and register new notifications that would be used inside their 3rd party bundle or somewhere else in the system.
- Notifications panel This panel is meant to be an interface to manipulate all the templates used by the communication system. This panel will allow the users to change the default notifications templates, if the notifications are active, the time interval when the notifications are active, and also what channel to be used by default.
- Notifications Editor MarkItUp