Code

WooCommerce Support Ticket System

WooCommerce Support Ticket System

The WooCommerce Support Ticket System (WCSTS) seamlessly integrates into your WooCommerce installation adding a system to mange user and order support tickets! In this way the Shop admin can easily keep track and give support for order and users issues!

Note: The plugin, like WordPress, requires a minimum 5.5 PHP version.

LIVE DEMO

http://www.codecanyon.eu/wcsts/wp-admin
(Shop admin account)
user: demo
pass: demo

(Shop admin account)
user: demo2
pass: demo

(customer account)
user: customer
pass: demo

(customer account)
user: customer2
pass: demo

THE IDEA

WCSTS extends WooCommerce adding a system to manage support tickets. Via WCSTS can be managed three different ticket types:
  1. Order tickets: related to orders issues
  2. User tickets: realted to users issues
  3. New Pay Per Ticket: For more details read the related paragraph
Order and User tickets can be submitted by the user directly via frontend pages. Shop admin can manage tickets using the special backend area. Furthermore the plugin allows email notifications, custom texts and many other customizations to better personalize the system according to the shop admin needs!

Order tickets

Once activated, the plugin seamlessly adds a ticket area in all frontend order details pages (My Account page -> Orders -> select any order). In this special area the user can submit new tickets request support for that particular orders, read the admin replies for the already submitted tickets and submit new messages.
Optionally the user can also attach one or more files. Once a ticket is submitted, the customer and the admin can optionally receive a notification email (notification system and attachment by default are disabled. Enable them via the Options menu).

Order ticket system can also be completely disabled or it can be disabled only for the desidered order statuses. Just go to the plugin Options menu and configure its display settings according to your needs!

User tickets

Is automatically displayed in the My account page in its own tab called Personal Ticket Ara (text can be customized via texts menu) and can optionally be displayed in any frontend page by using the special [wcsts_ticket_area] shortcode. This ticket type works in the same way of order ticket for the exception that it is associated to a specific user (the user must be logged to access the ticket area) rather than an order. Once a ticket is submitted, the customer and the admin can optionally receive a notification email (notification system by default is disabled. It can be enabled via the Options menu).

NOTE: to customize the login message, just use the following format: [wcsts_ticket_area]Type the message you want to display, html code is accepted[/wcsts_ticket_area]

Pay Per Ticket

The shop manager can now bind to any product (or variant) a number of questions that an user can ask. Once the product is purchased and the order is payed (or marked as completed), the plugin will automatically open a special Pay Per Ticket by which the admin can keep track of the user questions. Product quantity will affect the number of questions that the user will be able to ask.

To assign the number of questions to a product, just edit it and in the General tab you will find an input field name Questions number. For variable product, the Question number setting will be editable for each variant via the Variations tab.

Exampe:
  1. The admin binds 6 questions to Product 1
  2. The user buys 2xProduct 1
  3. Once the order will be payed, The plugin will open a Pay Per Ticket having 12 questions

Number of questions left can be editable by the admin using the ticket edit page.

The user can buy multiple products having questions binded to them. The plugin will open a ticket for each of them

Pay per ticket area is displayed in the frontend by using the special [wcsts_pay_per_ticket_area] shortcode in any page supporting shortcodes. The ticket area will be displayed only for registered users, for non registered users will be displayed a login message. To customize the login message, just use the following format: [wcsts_pay_per_ticket_area]Type the message you want to display, html code is accepted[/wcsts_pay_per_ticket_area]

Note: if an order is deleted or marked as failed, cancelled or refounded, the associated pay per tickets will be deleted too. Once a ticket reaches 0 questions left, the user will be automatically marked as closed.

File attachment

Optionally you can enable files attachment for reply messages and tickets. You can set file size limit and configure which files types are accepted. Furthermore, thanks to the “chunk upload” system, the plugin allows to upload any file size!

Rich text and Tiny MCE on Frontend

Optionally you can also enable the Tiny MCE editor for frontend ticket textareas! In this way your customers will be able to enter rich texts!
To enable this option just go in the plugin options menu and enable the Enable Tiny mce editor for ticket message area on frontend option.

Backend managment

The shop admin via the backend Ticket system managment area will be able to keep track of all the submitted tickets. In the ticket list table, the shop admin can at once retrieve the following info:
  1. Type: can be Order or User. It is needed to identify if the ticket is associated to a specific order or to a specific user
  2. Associated User/Order id
  3. Status: It can be Open, In Progress or Closed
  4. Priority: priorities can be customized using the special menu
  5. New message counter: it helps to better identify if an user replied to ticket
  6. Subject: ticket subject
  7. Ticekt open date
  8. Ticekt last user reply date
Deleting a ticket, the system will delete all its related metainfo including attachments! In this way your server and your db will be always clean!

Clicking on a ticket, the Admin can edit its info, read customer personal data, download (and delete) attachments and reply to the user. On ticket details page can be also overiden the notification emails recipient(s)

Assign ticket to specific admin users for better managment

Optionally you can assign tickets to specific admins users (that have edit_posts capability) and notify them. You can also optionally filter their ticket list in order to display only tickets assigned to them. To do that, just go to the options menu and set the Display all tickets to non Administrator users (admin area) according your needs.
Selecting the “display all tickets” options, the admins will be able to filter the list displaying only the ticket assigned to them (in the top of the ticket list they will find a filter to do that).

NOTE: Administrator users will be able always to see all the tickets.

Custom statuses

Beside the default Open, In progress and Closed ticket statuses, the shop admin can define his own custom statuses!

Automatic order tickets

WCSTS plugin allows you to create ticket automatically each time the order hits a particular status!

Options & customizations

The plugin allows the shop admin many customization, as:
  1. User/Order ticket subject type: Subject can be an open text (with lenght limit) or a select menu by which the user has to select one of the preselected topics (Use the text menu to configure them)
  2. Messages and subject lenght limit
  3. Disable order ticket system: disabling the ticket area will no longer be showed on every order details page. The shop admin will be still able to display the User ticket area using the [wcsts_ticket_area] shortcode
  4. Attachments: enable attachments, number of attachable file, size and types
  5. Email notification system: enable disable user and/or admin notifications
  6. Display ticket status on frontend
  7. Allow users to assign a priority to the just created ticket

Texts Customizations

The shop admin can customize the following texts:
  1. New ticket description: displayed on the new ticket box. It could contain various info, like ticket avarage processing times
  2. New ticket “succesfully submitted” message: This message is displayed after a ticket has been succesfully submitted by the user
  3. Notification emails subject and body: All email subject and messages can be customized. Furthermore can be used special place holder like {subject}, {message}, {ticket_id} to embed dinamic content about the current ticket message.

WPML

The plugin is compatible with WPML. To translate dynamic texts, just go to the Text menu, switch language using the WPML language selector and input e text. In case of preselected topics, Remember to create the translations for each language.

SCREENSHOTS


Order ticket area
WCSTS

User ticket area (My account page tab)
WCSTS

User ticket area (Shortcode)
WCSTS

Display ticket status (optionally)
WCSTS

Admin area
WCSTS

WCSTS

Assing tickets to specific admin users
WCSTS
Filter ticket list displaying only the ones assigned
WCSTS
Option menu
WCSTS
Customize text menu
WCSTS

Notification email
User reply WCSTS

Admin reply WCSTS

User new ticket submission confirmation WCSTS

Pay Per Ticket
Fronted area, uset the [wcsts_pay_per_ticket_area] to display. WCSTS

Admin products edit page WCSTS

Admin products list page WCSTS

Admin ticket edit page WCSTS


CHANGE LOG


= 5.9 - 07/12/17 =
* Improved file upload system: is now possible upload any file size

= 5.8 - 07/12/17 =
* Fixed an issue due to creating an user ticket from backed it was not displayed in the frontend

= 5.7 - 04/12/17 =
* Added new option to avoid ticket reply if it was marked as closed

= 5.6 - 26/11/17 =
* Minor bugfix

= 5.5 - 23/11/17 =
* Minor bugfix

= 5.4 - 18/11/17 =
* Fixed an issue on new ticket notification (user) due to the {order_page_url} placeholder was ignored 

= 5.3 - 17/11/17 =
* Added option to disable the Smooth scrool feature when the "Get help" button is pressed

= 5.2 - 17/11/17 =
* Minor bugfixes

= 5.1 - 13/10/17 =
* Fixed an issue that prevented to properly hightlight new replies from admin

= 5.0 - 12/10/17 =
* "Staff" label can be now customized 
* Ticket status is now showed before the ticket id 
* Is now possible to limit the number of order ticket that the user can open

= 4.9 - 04/10/17 =
* Bugfix

= 4.8 - 03/10/17 =
* Added new option for automatic switch ticket from closed to open when the user replies to a closed ticket 
* Added option to show order status for ticket order type

= 4.7 - 01/10/17 =
* On ticket is now present a notification area that display the number of new admin replies
* On Persona Area Ticeket tab is now possible to display a text reportin the number of new replies from the admin

= 4.6 - 28/09/17 =
* Added option to customize "Get help" button text

= 4.5 - 22/09/17 =
* Added new option that allow to render Order details page Ticket area after the customer billing and shipping addresses table

= 4.4 - 22/08/17 =
* Is now possible to bulk assign status directly from the ticket table page
* Is now possible to assign a background and text color to priorities. This will be displayed on ticket table page
* Ticket table subject column: improved readability

= 4.3 - 30/07/17 =
* Fixed an issue with ngix web server due to 500 may be raised when opening  a new ticket

= 4.2 - 25/07/17 =
* Is now possible assign ticket managment to a specific user directly from the ticket edit page
* Is now possible customize email sender name

= 4.1 - 13/07/17 =
* Added new Pay Per Ticket feature
* The pluing is compatible only with WooCommerce 3.0 and above

= 4.0 - 20/06/17 =
* Fixed an issue with relative to the ticket area shortcode

= 3.9 - 15/06/17 =
* Fixed a conflict with POS plugin

= 3.8 - 30/05/17 =
* Minor bugfix

= 3.7 - 26/05/17 =
* Fixed an issue that prevened the User list to be properly loaded on the Ticket assign page

= 3.6 - 11/05/17 =
* Fixed an conflict with Woocommerce All Discounts plugin

= 3.5 - 05/05/17 =
* Added option to allow user to set ticket priority when creating

= 3.4 - 27/04/17 =
* Added Automatic ticket feature 
* Improved WPML support 
* Added pagiation for frontend ticket area

= 3.3 - 17/04/17 =
* Minor bugfix

= 3.2 - 10/04/17 =
* Fixed other WooCommerce 2.6 backward incopatibility issues

= 3.1 - 05/04/17 =
* Fixed a minor issue with WooCommerce 3.0

= 3.0 - 28/03/17 =
* Added custom ticket statuses feature

= 2.9 - 24/03/17 =
* Fix a notification bug for orders for which the id was altered by 3rd party
* Fixed url creation for the "Get Help" button when using the WooCommerce Sequential Order Numbers plugin

= 2.8 - 22/03/17 =
* Added turkish .po file

= 2.7 - 13/03/17 =
* Added option to display ticket count on a column in the  My Account -> Orders table
* Added option to enable Tiny MCE editor on frontend ticket textareas

= 2.6 - 24/02/17 =
* Added editors to email text configurator 
* Order and User tickets email body have two different texts

= 2.5 - 24/02/17 =
* Minor bugfix

= 2.4 - 21/02/17 =
* Added support to upcoming WooCommerce 2.7

= 2.3 - 15/02/17 =
* Fixed an issue relative to the "Get Help" button
* Fixed on order search by number feature in add ticket page

= 2.2 - 05/02/17 =
* Fixed an issue that prevent paragraph breaks to be properly displayed

= 2.1 - 02/02/17 =
* Fixed an issue with ticket edit link embedded in outgoing admin notification emails
* Fixed profile/order list links url on ticked edit page

= 2.0 - 31/01/17 =
* Added  option to sort tickets by date and filter by status (if it has been enabled the option to show the status on frontend)
* Is now possible to customize the login message when using the [wcsts_ticket_area]

= 1.9 - 28/01/17 =
* Added new option to assign tickets to specific admin-area enabled users (that have edit_posts capability).
* In frontend, tickets now are expandable/collasable
* Option to display ticket status on frontend

= 1.8 - 10/01/17 =
* Fixed an issue that prevented Emails notifications option to be displayed in the General Options menu
* Added "Get help" button next to the "view" on orders table (My account page). It redirects to the Tickeat area inside the order details page

= 1.7 - 12/12/16 =
* Added option to access the user ticket area in my account tabs

= 1.6 - 12/12/16 =
* Minor bugfix

= 1.5 - 07/12/16 =
* Added option to disable Order ticket system by order status

= 1.4 - 30/11/16 =
* Added new feature to filter ticket by type
* Added new feature to filter ticket by users (to enable this feature for old ticket, just edit then and click on "update" button)

= 1.3 - 22/11/16 =
* Minor bugfix that prevented media to be embedded on admin ticket response
* Fixed ticket sort on frontend pages

= 1.2 - 15/11/16 =
* Fixed a bug on "Open on" sorting column function

= 1.1 - 26/09/16 =
* Minor bugfix

= 1.0 - 15/09/16 =
* Release

by
by
by
by
by
by