• Category :Web Creation
  • Status : Completed
  • Launch Date : Wednesday 22 January 2020
  • Tech Spec : OpenTok (WebRTC platform), PHP, JavaScript (Ajax, JQuery), Bootsrap, Html5 & Css3

Project Brief:


This video plugin will work only for chosen categories by admin. For example, if an admin is adding a new category, for example a category called “Video Tutorials”, there will be an option (below that, in create category page) that says “Enable Video Plugin For This Category” If “Enable Video Plugin For This Category” is chosen, 3 other options will appear =>

  1. Send Reminder Emails {options: 10 minutes, 20 minutes, 30 minutes, custom value}
  2. Send Missed Video Session Emails {Options: 15 minutes, 30 minutes, 60 minutes, custom value}
  3. Send Warning Message When Video Session is Coming to an End {options: 1 minutes, 2 minutes, 3 minutes, custom value}

Now this option is for the main category. If enabled on a main category, all sub-categories will be enabled for video plugin automatically as well. However, there will be an option for the admin to disable  it for some sub-categories under that main category. So admin can disable some sub-categories under that main category that he/she doesn’t want to have the video plugin enabled for.

So next, when user/seller is creating proposal and user chooses “Video Tutorials” or any other category that video plugin has been enabled for.. A whole new video setting option will appear. There will be a whole tab in Create Proposal page that says “Video Settings”. This tab will have the following settings:

  • Enable video calling (By default it will be enabled)
  • Price per minute

Days within which a video session can be scheduled (For example: 4 days, 6 days etc) => options (the days) for this last item is added by admin from the admin panel.

When buyer is purchasing a proposal with video plugin enabled, the proposal purchase section will have price text (for example) “$0.5 For 1 minute” (option above {Price per minute}) Then below that, another text that reads “How many minutes of video time do you wish to purchase?” This will have a number field where a user/buyer can enter amount of minutes. If user enters 10 minutes, then the price to pay will be $5 + service fee (so 0.5 x 10).

When buyer purchases a proposal that has video tutorial enabled, buyer will be redirected to an order screen which will have an option “Set A Time For Video Session” When user clicks on that button he can pick a day and time. The day and time should not pass the “Days within which a video session can be scheduled” (option above {Days within which a video session can be scheduled (For example: 4 days, 6 days etc)}) So If seller sets 4 days in video settings (option above {Days within which a video session can be scheduled (For example: 4 days, 6 days etc)}), video schedule has to be within four days after purchase. If user choose a date and time that is over 4 days, an error message will appear saying “Sorry, please choose a day and time that is within 4 days of this purchase”

When user picks a valid day and time, seller gets an email with these details. Seller can login in and he/she will have two options “Accept Schedule  OR Propose Another Schedule” If seller accepts schedule, an email will be sent to the user showing/confirming the day and time.

System will be able to do perfect time conversion. So if they are both in different timezones, system will be able to get real time for both. So If I am a user/buyer and I choose a schedule for Tuesday at 1pm, and my seller (for example, James) accepts this, but his time for that schedule is 4Pm. James will see his own time zone time. So James will see that I scheduled for 4pm, since my 1pm is his 4pm. So there will be perfect time conversion in the background

However, If seller chooses “Propose Another Schedule” he can pick another day and time. Buyer will get email with this proposal showing the appropriate day and  time for his/her timezone, suggested by seller. Buyer will also see two options “Accept Schedule OR Propose Another Schedule”

Once a time and date has finally been accepted by both buyer & seller, buyer and seller will get confirmation emails. If reminders were set in the admin panel, they will also get emails towards the schedule. Once they are both online, only seller can initiate video call. So seller will click “Launch Video Call”

Video call will have a section whereby seller and buyer can message each other as well as upload/exchange files. This message area will be flagged if items on the admin “Blacklist word bank” are typed.

Seller’s video screen will have more options. Options like:

  • Extend Time (this will calculate based on the price per minute that seller set)
  • Extend Time with Custom Amount

If seller clicks on “Extend Time” an option will appear that will have text that reads “How many more minutes do you wish to extend?” If seller types out 4 (for example) => an option will pop-up in buyer’s screen with text that reads “$SellerName wishes to extend the time by 4 minutes. If you confirm, this will cost you an extra $2 (or $CustomAmount). Do you wish to confirm?” two options “Yes” or “No” If yes, original payment method buyer used to purchase that proposal will be charged, if “No’, nothing will be charged and seller will receive message in pop-up screen that reads “$buyerName declined your extension”

If buyer accepts the extension, time will automatically increase, and popup notification will slide from left to right saying, “Time increased successfully.”

Both buyer and seller will have options: “End video session, Message area with emoji icons (with upload capability), ‘email message content to my email’ option”

Once video session is coming to an end (if admin sets “Send Warning Message When Video Session is Coming to an End” option above in admin panel) to 1 minute, when 1 minute approaches, a popup message will slide from bottom left to right with text “1 more minute(s) left for this video session”

If time comes down to 0, video session automatically ends, and buyer & seller can then rate the order at that point.

NB: You need the GigToDo Script for this to work.

Features Included

Contains the following features.

  •  Robust video chat system for sellers/freelancers and buyers
  •  Message system with emojis added to video chat module for instant messaging and file transfer during video chat session
  •  Type status indicating to buyer and seller when someone is typing
  •  Video chat ringtone to enable buyer know when a video call is coming through
  •  Calendar and time feature to allow buyer to set a date and time when both of them are available to do the video chat
  •  Recording feature implemented for buyer to have an option to record video chat and download in .mp4 version
  •  Time extension system implemented to give a seller the opportunity to extend time. Buyer will have to approve time extension notification and manually effect payment before time is extended.
  •  Email notifications. Email and website notifications have been implemented for every step of the process.
  • Responsive on every device


Our video plugin uses one of tokbox’s APIs called OpenTok. This is a very reliable WebRTC platform, which comes with amazing features and an even better analytic control panel. Like they say, not all good things are always free. You are required to sign up and get an account from TokBox. You can start of with a plan of $9/month. However, when you sign up, you have a couple of minutes (about 2000+ minutes worth $10 free) to get started with. So you can use that to test the waters. Please read more about OpenTok here. We have fully integrated this platform with GigToDo and built in a lot of modules for it to work flawlessly with GigToDo.

NOTE: This video platform is only compatible with v1.4.5 and above of GigToDo.


Let’s Have some previews:

Admin gets to choose which categories and sub-categories should have the video module enabled for. Meaning if a category doesn’t have the video plugin enabled for it, seller will not see video session options after choosing that category.

(Admin’s View)

Seller configures video module

(Seller’s View)


Proposals that have the video module enabled for will have a new icon. A blue video camera icon


(Buyer’s View)

Proposals screen for proposals that have the video plugin enabled will look like this. Users can easily add how much time they think they need.

(Buyer’s View)


When a buyer purchases a proposal with the video module enabled, that buyer will have to pick a time he or she is available within the “Days within which a video session can be scheduled” (Check first image above) Meaning if seller sets only 2 days, buyer can only pick a time within 2 days after purchase. This option will appear in the order page.

(Buyer’s View)


Seller receives an email. Seller can accept proposed time availability from buyer, or propose another time.

(Seller’s View)



Once both seller and buyer finally settle on a date and time, they will both get a confirmation email, and the video button will appear on seller’s screen. Now even though both seller and buyer agree on a time, the seller still has the power to initiate the video call anytime, as long as the video call button is present. This means if for some reason the buyer is willing to do a call earlier than accepted date, seller can initiate the call.

(Seller’s View)


Once a call is initiated, buyer will get a ringtone

(Seller’s View)


Once call is initiated, buyer get’s ringtone and this notification

(Buyer’s View)


The seller screen on video call module has more options. There is “Extend Time”, “Extend Time With Custom Amount” and “Message”  with “Extend Time”, if the seller chooses 6 minutes. It will extend the time and charge the buyer $3 (That is if the seller is charging $0.50 per minute) However, with  “Extend Time With Custom Amount” seller gets an extra field. So seller can extend time by 6 minutes but manually add a custom price, say, $2. In the image below, “Extend Time with Custom Amount” was chosen. Also system shows you when remain time is left, as per the setting above in first image.

(Seller’s View)



Buyer has to manually accept or decline an extension. You can also see that buyer’s screen has two options “Start Video Call Recording” and “Messages”

(Buyer’s View)


When buyer accepts extension, buyer pays and times increases automatically.

(Buyer’s View)


Buyer can also record the session by clicking on “Start Video Call Recording” and it starts recording. Also note, when time is increased, buyer and seller will both receive a notification

(Buyer’s View)


Video module comes with a message area that allows file sharing and instant messaging. This is separate from the inbox messaging built into the GigToDo platform.

(Seller’s View)