Build a WordPress Plugin for a Movie Showtime and Streaming widget
Budget: €750 – €1,500 EUR
In usheru we develop solutions for Film Distributors to help them promote their movies better.
We are looking for a WordPress plugin for our clients to embed a Showtimes and Streaming widget to their existing WordPress sites.
The plugin will make use of our API to request Showtime and Streaming information for a specific movie.
An example of how this widget should look like can be found here: https://xd.adobe.com/view/6d390d79-95d9-4fd0-aca6-d2391ae36c22-386a/screen/b7b1f014-b52b-469b-8a66-b2da762e45b8/specs/
NOTE: we are only interested in the 'In Cinemas / At Home' box, and not in the full page.
The plugin should be configurable so it can be added to different movie pages and different sites with ease. As a minimum, if should accept the following configuration options:
- API Authentication info
- Movie slug eg. no-time-to-die
- Default location (to be used on a user first visit)
- 2 booleans that allow enabling/disabling the 'In Cinemas' and 'At Home' tabs. The tab selector at the top of the widget should only be rendered when both tabs are enabled.
The plugin should inherit the colors and the fonts from the Theme. The widget uses two colors (black and white in the example we provide, since the grey part can be achieved using css opacity) and two fonts (normal and bold).
The plugin should be prepared for using Wordpress i18n Localization, so it can be translated to multiple languages.
The Showtimes part uses Google Places API for the location selector and Google Maps API to display a map when the user clicks on the Cinema address. The Near Me button should use the HTML Geolocation API to request the location from the user.
The Streaming part has a country selector. The countries that will be part of the selection will be requested from our API. If the number of countries returned from our API is 1, then the country selector should not be rendered.
The following endpoints are available on our API:
Showtimes endpoint. Takes movie and location and returns a one record per cinema. It will update the cinema list and it will be used on the following scenarios:
- On page load (if the In Cinemas tab is enabled from the plugin settings)
- When the user changes the Location (from the Location selector or Near Me button)
Showtime endpoint. Takes the id of a showtime (known from the previous request) and returns the cinema url that has to be used for the href of the BOOK NOW button. It will update the BOOK NOW button and it will be requested when a user selects a specific date or time.
Streaming endpoint. Takes the movie and the country and returns a list of streaming platforms (including their logo and URL to link). It will update the Streaming Platforms list and it will be used on the following scenarios:
- On page load (if the At Home tab is enabled)
- When the user changes the Country selector in the At Home tab
- When the user changes the Location from the In Cinemas tab to one in a different country than the country selected in the At Home tab
Countries endpoint. It returns the list of Countries that will be shown in the country selector. It will be requested on page load (if the At Home tab is enabled)
Geolocalization endpoint. Takes latitude and longitude and returns a city, region and country. It will be used on the following scenarios:
- When the user changes the location in the In Cinemas tab so we can update the Country that the At Home tab will use. (If the At Home tab is enabled and the selected country is different to the new one)
- When the user clicks Near Me, so we can print his location in the location selector (Google only returns longitude and latitude, so this endpoint is required to translate them to text like 'Dublin, Ireland')
When the user selects a location (from In Cinemas) or a country (At Home) this information has to be stored in the window.localStorage so if a user revisits the site, this location and country can be used instead of the Default Location of the plugin.
We are looking for a WordPress plugin for our clients to embed a Showtimes and Streaming widget to their existing WordPress sites.
The plugin will make use of our API to request Showtime and Streaming information for a specific movie.
An example of how this widget should look like can be found here: https://xd.adobe.com/view/6d390d79-95d9-4fd0-aca6-d2391ae36c22-386a/screen/b7b1f014-b52b-469b-8a66-b2da762e45b8/specs/
NOTE: we are only interested in the 'In Cinemas / At Home' box, and not in the full page.
The plugin should be configurable so it can be added to different movie pages and different sites with ease. As a minimum, if should accept the following configuration options:
- API Authentication info
- Movie slug eg. no-time-to-die
- Default location (to be used on a user first visit)
- 2 booleans that allow enabling/disabling the 'In Cinemas' and 'At Home' tabs. The tab selector at the top of the widget should only be rendered when both tabs are enabled.
The plugin should inherit the colors and the fonts from the Theme. The widget uses two colors (black and white in the example we provide, since the grey part can be achieved using css opacity) and two fonts (normal and bold).
The plugin should be prepared for using Wordpress i18n Localization, so it can be translated to multiple languages.
The Showtimes part uses Google Places API for the location selector and Google Maps API to display a map when the user clicks on the Cinema address. The Near Me button should use the HTML Geolocation API to request the location from the user.
The Streaming part has a country selector. The countries that will be part of the selection will be requested from our API. If the number of countries returned from our API is 1, then the country selector should not be rendered.
The following endpoints are available on our API:
Showtimes endpoint. Takes movie and location and returns a one record per cinema. It will update the cinema list and it will be used on the following scenarios:
- On page load (if the In Cinemas tab is enabled from the plugin settings)
- When the user changes the Location (from the Location selector or Near Me button)
Showtime endpoint. Takes the id of a showtime (known from the previous request) and returns the cinema url that has to be used for the href of the BOOK NOW button. It will update the BOOK NOW button and it will be requested when a user selects a specific date or time.
Streaming endpoint. Takes the movie and the country and returns a list of streaming platforms (including their logo and URL to link). It will update the Streaming Platforms list and it will be used on the following scenarios:
- On page load (if the At Home tab is enabled)
- When the user changes the Country selector in the At Home tab
- When the user changes the Location from the In Cinemas tab to one in a different country than the country selected in the At Home tab
Countries endpoint. It returns the list of Countries that will be shown in the country selector. It will be requested on page load (if the At Home tab is enabled)
Geolocalization endpoint. Takes latitude and longitude and returns a city, region and country. It will be used on the following scenarios:
- When the user changes the location in the In Cinemas tab so we can update the Country that the At Home tab will use. (If the At Home tab is enabled and the selected country is different to the new one)
- When the user clicks Near Me, so we can print his location in the location selector (Google only returns longitude and latitude, so this endpoint is required to translate them to text like 'Dublin, Ireland')
When the user selects a location (from In Cinemas) or a country (At Home) this information has to be stored in the window.localStorage so if a user revisits the site, this location and country can be used instead of the Default Location of the plugin.