AN
INTERNSHIP REPORT
ON
ONLINE AUDITORIUM BOOKING SYSTEM
PROJECT
BY
KAMAL ACHARYA
(Tribhuvan University)
Date: 2022/04/09
1|P ag e
CHAPTER ONE
GENERAL INTRODUCTION
1.1
INTRODUCTION
An Auditorium booking management system is a web-based application system that allows
clients to book a facility in an auditorium. The system provides a platform to check for days that
each facility in the auditorium is available, make reservations, make payments and finally book
for the selected date and time. Users can use this program directly on their web browsers and no
need to install it. An Auditorium is a large building that is designed to hold a convention, where
individuals and groups gather to promote and share common interests. Convention centers
typically offer sufficient floor area to accommodate several thousand attendees. Very large
venues, suitable for major trade shows, are sometimes known as exhibition halls. Auditoriums
typically have at least one auditorium and may also contain concert halls, lecture halls, meeting
rooms, and conference rooms. Currently, there is a lengthy process involved in securing a place
in an Auditorium, which takes a lot of time and creates so many inconveniences to clients. To
solve the above problem, we decided to develop a system that will give people who are
interested in booking a particular, a platform where they can just be in their comfort zones and
check for days vacant for booking, make reservations, make payment and successfully book a
space in the event center. The order has four (4) steps, after accessing the web page, a new client
has to sign up whereas an old client can just log in with their previous credentials. After logging
in, the next step is to check the availability of facilities, next is to select date and time available
for a required event. Clients therefore can make a reservation from there and must proceed to
fulfil their necessary financial obligations to successfully book the required space or else their
2|P ag e
reservations automatically expirers after 12 hours. After payment is successfully done, an email
is sent to the client confirming booking of the selected space.
1.2
Background
Information Technology has become the driver or the lifeblood of today’s economy, as such for
any society or community to stay relevant and competitive in this information age, they have to
employ IT based solutions for daily challenges. (S. A. , 2018)
People or organizations who are interested in securing a space in an Event center go through a
lengthy and tiring process. For this reason, the authors of this proposal are suggesting an online
booking system for an event center.
Online booking system for an event center is a web-based application that allows people or
organizations who are interested in securing a place in the Event center to acquire every detail
they need about the auditorium, check on dates that the facility is available for use and
successfully secure the facility required for an event. The system is intended to aid clients to
book the center from their own comfort zones.
It is for the reason that the authors of this research believe that the development of a specialize
Online booking system for an Event center will save time, money and stress involved in moving
to and fro to secure a space for an event.
1.3
Problem Statement
Booking an event center can be a time consuming and stressful task for clients especially during
peak hours. Clients have to rush to the auditorium facility manager to make enquiries about
availability of space on specified dates for their events and may still have to go through the stress
3|P ag e
of writing a letter, wait for the approval of the manager before any further process such as knowing
the cost of the capacity of the facility needed by the clients and the availability of the specified
date could be communicated to the client. This current system of securing a space for an event in
an Event center actually generates so much inconvenience to clients due to the hectic process
involved to successfully book the facility.
Besides the time consumed to manually book the facility, it can also be hectic and tiring for clients
to move around securing a space for a said program. This can also be avoided with the aid of a
web based booking system for the Event Center.
1.4 Scope of the project
This project entails developing a well-organised automated system to aid clients secure a space in
an Auditorium with ease. The project will be completed before the end of March 2020. Modules
of the website will include checking availability of dates and time, booking facilities, making
reservations, making e-payments and keeping records for accountability. It will also include the
platform of payment, be it through mobile money, VISA, Skrill, and so many other payment
options depending on the cost of the facility interested. The system will also contain tabs such as
about page which gives a brief statement about the Auditorium and its operations, contact page
which gives clients details of the management of the facility in order to reach them in case they
need assistance so those extra tabs gives clients a fair knowledge about the auditorium and to reach
management respectively.
4|P ag e
1.5 Limitations of the study
Clients cannot be at their comfort zones and book a space.
Records are difficult to keep and retrieve which makes accountability difficult.
1.6
OBJECTIVE
The objectives are divided into general objectives and specific objectives.
1.6.1
General objectives
The main aim will be to create Booking Management System for an Auditorium.
1.6.2 Specific objectives
To build an automated system that will keep records of the facility bookings for future
references, making of accounts, and auditing.
To design an electronic booking solution that will save time, money and create relief for
clients and administrators.
To increase efficiency and services to the customers through better application of
technology in daily operation.
1.7
To develop and implement online booking management system for an Auditorium.
Methodology
In order to develop an auditorium booking management system that is consistent, it is important
to introduce a process model that will be used. A process model guides the order of project
5|P ag e
activities and represents the life cycle of a project. The model that will be used is the waterfall
model.
The waterfall model is a linear, sequential approach to the software development life cycle
(SDLC) that is popular in software engineering and product development. The waterfall model
emphasizes a logical progression of steps. Similar to the direction water flows over the edge of a
cliff, distinct endpoints or goals are set for each phase of development and cannot be revisited
after completion. The term was first introduced in a paper published in 1970 by Dr. Winston W.
Royce and continues to be used in applications of industrial design.
The waterfall methodology is composed of seven non-overlapping stages:
1. Requirements: Potential requirements, deadlines and guidelines for the project are analyzed
and placed into a functional specification. This stage handles the defining and planning of the
project without mentioning specific processes.
2. Analysis: The system specifications are analyzed to generate product models and business
logic that will guide production. This is also when financial and technical resources are
audited for feasibility.
3. Design: A design specification document is created to outline technical design requirements
such as programming language, hardware, data sources, architecture and services.
4. Coding/Implementation: The source code is developed using the models, logic and
requirements designated in the prior stages. Typically, the system is designed in smaller
components, or units, before being implemented together.
6|P ag e
5. Testing: This is when quality assurance, unit, system and beta tests take place to report
issues that may need to be resolved. This may cause a forced repeat of the coding stage
for debugging. If the system passes the tests, the waterfall continues forward.
6. Operation/Deployment: The product or application is deemed fully functional and is
deployed to a live environment.
7. Maintenance: Corrective, adaptive and perfective maintenance is carried out indefinitely to
improve, update and enhance the final product. This could include releasing patch updates
or releasing new versions.
1.8
Organization of the Study
The project as supervised by Mr Henry Matey is based on two parts, building of a website system
and a report or documentation for the system. The first part is building of the online booking
management system which serves as the platform for users to book facilities from their mobile
phones or computers. In building the site, the GUI was an important phase. Every customer should
find it easy to use therefore so much time was spent on the GUI of the system.
The report of the system on the other hand consists of five chapters, with each chapter based on a
particular curriculum. Chapter 1 consists of the introduction to the organisation of the study.
Chapter 2 is the literature review of the study. Chapter 3, the system analysis and design of the
proposed system. Chapter 4 based on the implementation and evaluation of the project. Chapter 5,
the summary, conclusion and recommendations of the project.
7|P ag e
CHAPTER TWO (2)
LITERATURE REVIEW
2.1
INTRODUCTION
In our own words, An Auditorium booking system is a web-based application, which allows
clients to book or secure a space in an auditorium from their comfort zones for various events.
In other to get a clear understanding on this project, we made use of different research material
such as books, interviews, online sites, magazines, tutorial videos and many others. This helped
us to achieve the targeted objectives of this project.
2.2 GENERAL BACKGROUND OF THE STUDY AREA
Taking UPSA auditorium as an example, it was officially inaugurated on May 8, 2019. The
auditorium is a 3,550 capacity. The main aim of putting up such a commendable auditorium is to
provide space to accommodate students for various activities. The auditorium is also opened for
the entire public to book for decent events. The auditorium entails variety of spaces such as the
main auditorium, conference rooms, and lobby rooms to host various events at a reasonable cost.
This would help to generate revenue for the university. (https:www.upsa.edu.gh, 2019)
2.3 REVIEW OF THE EXISTING SYSTEMS
Seminar Hall Booking Management System
Seminar Hall Booking Management System allows users to view availability dates of a particular
seminar hall and also the facilities in the hall like capacity, microphones, projector, etc. This
provides user-friendly environment while booking the seminar hall and it gives suggestion
8|P ag e
regarding the selection of seminar hall based on the capacity and availability. The concern
department head can view the list of the request. The acceptance and rejection can be viewed by
the user through that login or even by the email id.
Sunshine Auditorium Booking Management System
Sunshine Online Booking Management System allows sunshine hospital employee users
and external users to book auditorium as per their expected event schedules. Any user
internal or external has to raise a request for auditorium booking and it will be approved
by admin. A logged in user can check availability date wise and hourly wise too. A user
will have the option to provide the hourly availability information too while raising the
request. Once approved, an email notification would be sent over confirming the
booking.
THE FUNCTIONALITIES OF THE SYSTEM
User stories
Sunshine Auditorium Management System
Login Form
√
√
Registration
√
√
form
Booking form
9|P ag e
√
Seminar Hall Management System
√
Booking
suggestion
form
Check
√
√
availability
The figure above depicts all the two systems and they give room for clients and users to register,
login, book, and check availability. Seminar hall is improved to suggest booking.
None of the systems has the possibility for users to leave a message and also provide images of a
particular interested facility.
None of the systems also has the function of sending emails to clients to confirm their booking.
None of the systems has the possibility for clients to secure a facility more than a day.
2.4 COMPARATIVE STUDY OF REVIEWED SYSTEM
The proposed system is developing an auditorium booking management system for UPSA
auditorium that allows everyone to make bookings of a facility irrespective of their destination
with the aid of an internet. Clients have to just be in their comfort zones, access the site, register
or login, check availability, and if possible, book, and make payment to validate booking. Email
verifications will be sent to clients to confirm a successful booking. Clients can make payments
with mobile money, visa or skrill depending on the amount of the interested facility.
10 | P a g e
The problems with the existing systems are the inability of clients to leave a message for
management and seeing a particular facility they want to book and use. This system is developed
to bring an end to all these inconveniences.
2.5 CONCLUSION
Unlike the above sites, the proposed system will have a database that will make it possible for
checking of records of a particular facility booked at a specific time. This will ensure clarity and
ease of accountability. Clients will also be made to leave messages for management. Email
verification will also be sent to clients to confirm booking.
These unique features will help to boost efficiency and effectiveness.
11 | P a g e
CHAPTER 3
LIFE CYCLE DESIGN OF THE PROPOSED SYSTEM
3.1 INTRODUCTION
This chapter describes the methodology that was used to develop the web-based
application. (O’Leary, 2004) Describes methodology as the framework, which is
associated with a particular set of paradigmatic assumptions that we will use to conduct
our research. (Alan, 2005) Insists that when conducting a research methodology, it should
meet the following two criteria:
Firstly, the methodology should be the most appropriate to achieve objectives of the research.
Secondly, it should be made possible to replicate the methodology used in other researches of the
same nature.
This research study was conducted based on the waterfall model. Methodology plays an
important role in implementing this research study accordingly. The details of the
methodology are explained in this chapter.
Software life cycle is a general model of software development process, including all the
activities and work products required to develop an auditorium booking system. A
software life cycle model is composed of a number of clearly defined and distinct work
phases, which can be used to plan test, design, build, and test and deliver the web-based
application. Software life cycle aims to produce high systems that meet and exceed
customer expectations, based on customer requirements, by delivering systems that move
12 | P a g e
through each clearly defined phases, within scheduled periods and cost estimates.
Software life cycle captures the order in which these activities are to be taken.
3.2 CRYSTALIZATION OF THE PROBLEM
The system allows client to conveniently navigate through the website to check dates
available for reservations and successfully booking the facility from their comfort zones.
Clients can also make enquiries, payments, cancellation of bookings and so many other
actions on the website. It actually saves time because clients can access and utilize the
website from anywhere and at any time. They do not need to come all the way to the
school to book or secure a place in the auditorium.
3.3 ANALYSIS AND DESIGN OF THE SYSTEM
This part of the research proposal involves the use of system analysis and design as a tool. It is
dedicated to the requirement collection (done with the collaboration of the client), the design of
the system, done using UML use cases and class diagrams, and of the relational database, done
with (extended entity relationship diagram (EER) as modeling technique).
3.3.1 System requirement
A new user can register, or login to the website if he/she has already registered. After the
user enters the login credentials, the user’s information is going to be stored in the
browser’s local storage. This information is going to facilitate authenticating the type of
user on other pages of the website. After a successful log in, the client is eligible to check
for dates and times available for booking, he or she can further make a reservation and
then proceed to make payment using the payment options available. A successful booking
13 | P a g e
is made after the administrator confirms receipt of the payment else reservation expires
after 12 hours.
3.3.2 FUNCTIONAL REQUIREMENT
Functional requirement defines the specific function that the system performs, in conjunction
with the data operated by the functions. The functional requirements are presented in scenarios
that depict an operational user from the perspective of its end users. Below are examples of all
the system features and an enumeration of the entire specific requirement associated with these
features. The system shall incorporate mechanism to authenticate its users and the system shall
verify and validate all user input and should notify in case of error detection and should help the
user in error correction.
3.3.3 NON-FUNCTIONAL REQUIREMENT
Non-functional requirements address aspects of the system other than the specific functions it
performs. These aspects include system performance, costs, and such general system
characteristics as reliability, security, and portability. The non-functional requirements also
address aspects of the system development process and operational personnel. It includes the
following:
14 | P a g e
The system shall be user friendly and consistent.
The system shall provide attractive graphical interface for the user.
The system shall allow developer access to installed environment.
The system shall target customer base.
3.3.4 Hardware requirement
The system would employ third-party source components. Some of these
include components that would allow the applications to focus on the
functionality of the system: reporting, documenting, management,
notification, interfaces and securities. Some of the hardware and software,
which would be used in the development of the application, include;
Server side
Processor
2.20 GHz
Ram
4 GB
Hard drive
50 GB Free Space
Client side
Processor
1.80 GHz
Ram
2 GB
Hard drive
10 GB Free Space
3.3.5 Software requirement
Server side
15 | P a g e
Operating system :-
Windows server 2016 or higher version
of server OS
Framework :-
Net framework 4.0
Web Server :-
XAMPP Server
Front End:-
HTML, CSS and JavaScript
Back End :-
MYSQL
Client side
Operating system
Windows 2007 or higher support version of
Operating System
Browser :-
Internet Explorer 11, Mozilla Firefox 63.0 beta or
higher version.
16 | P a g e
3.4
FLOW CHART DIAGRAM
START
VIEW WEBSITE
Admin login
Client login
Reserve a date
Valid user Id &
password
Pay
Admin
Update info.
Log out
Stop
Figure 3.4 Flow chart diagram
17 | P a g e
Cancel
3.4.1 Context diagram
Login request
Login
Auditoriu
m
Booking
Administrator
Managem
ent system
Figure 3.4.1 Context diagram
18 | P a g e
Confirm
Client
3.4.2 Data flow diagram
ADMIN
BOOKING
SYSTEM
MANAGER
Figure 3.4.2 Data Flow Diagram
19 | P a g e
USER
3.4.3 Use case diagram
The first step for the functional requirement collection are the use cases. Use
cases are “a description of set of sequences of actions, including variants,
that a system performs that yield an observable result of value to an actor”.
They are used in order to: design system from user’s perspective,
communicate system behavior in user’s term and enumerate all externally
visible behavior. Here are the use cases for the auditorium booking system
project (there are two actors for the system: a client and an administrator).
SIGN UP / SIGN IN
CHECK FOR DATES
AVAILABLE FOR
BOOKING
SELECT PREFERRED
FACILITY AND
SERVICE
SELECT THE TYPE OF
EVENT
CLIENT
20 | P a g e
CHECK TERMS
AND
CONDITIONS
AND PAYMENT
METHODS
MAKE PAYMENT
CONFIRM
DEPOSIT MADE
BY CLIENTS
APPROVE OR
DECLINE
BOOKINGS
REVIEW
REPORTS OF
THE VARIOUS
TRANSACTIONS
WITHIN A
Figure 3.4.3: Use Case Diagram
21 | P a g e
ADMINISTRATOR
3.5 TOOL USED
The auditorium booking management system followed the totally dynamic web based
rule. In this system, we used some web programming languages. The following software,
tools & frameworks were selected and used for accomplishing the project:
Front end: HTML, CSS
Back end: PHP Storm IDE
Database: MySQL, JavaScript,
i. HTML
First developed by Tim Berners-Lee in 1990, HTML is short for Hypertext Markup Language.
HTML is used to create electronic documents (called pages) that are displayed on the World
Wide Web. Each page contains a series of connections to other pages called hyperlinks. Every
web page you see on the Internet is written using one version of HTML code or another. HTML
code ensures the proper formatting of text and images for your Internet browser. Without HTML,
a browser would not know how to display text as elements or load images or other elements.
HTML also provides a basic structure of the page, upon which Cascading Style Sheets are
overlaid to change its appearance. One could think of HTML as the bones (structure) of a web
page, and CSS as its skin (appearance). (computer hope, 2019)
22 | P a g e
ii. Bootstrap / Cascading Style Sheets
Bootstrap and Cascading Style Sheets are languages used for describing the presentation
of Web pages, including colors, layout and fonts. It allows one to adapt the presentation to
different types of devices, such as large screens, small, or printers. They are independent
of HTML and can used with any XML-based markup language.
iii. PHP (Hypertext Pre-processor)
PHP (recursive acronym for PHP Hypertext Pre-processor) is a widely used open source
general purpose scripting language that is especially suited for web development and can
be embedded into HTML. Since this project will be based online, it will be appropriate to
develop this project using PHP. It is a server side scripting language that is used to
develop dynamic web content and allows for the communication with the database.
(Ahmed, 2016)
iv. MICROSOFT SQL SERVER 2008.
A database management system (DBMS) is computer software designed for managing
databases, a large set of structured data, and run operations on the data requested by
numerous users. SQL Server 2008 the best version we intended to use to manage the
booking database, which was released on 6 August 2008.
v. JavaScript
JavaScript is a programming language, which is used to create web pages. It is a
lightweight, prototype based, explained, object-oriented language including first class
23 | P a g e
functions. For web pages, it is also known as the multi-paradigm scripting language.
However, many non-browser environments also contain java script. It runs on the client
side of the web pages. It is used to design how the web pages’ treat on the incident of an
event. It is easy to learn and broadly used to control web pages’ attitude
3.6 CONCLUSION
In this chapter, we have discussed about the platforms and technical object that is used in
our entire project. We used PHP Code Igniter to develop our web site. With the help of
Bootstrap, we design and align our website’s TEXT contents and connect the website to
MySQL database server for storing and retrieving data from the RDBMS. The overall
work is based on PHP Code Igniter and MySQL, which are very popular platform.
24 | P a g e
CHAPTER 4
SYSTEM TESTING, IMPLEMENTATION AND DOCUMENTATION
4.1 INTRODUCTION
The process of checking whether the developed system is working according to the
original requirements and objectives of clients is known as system testing. There are
basically two sources of data for testing. These are Live and Artificial. Live data are
actually extracted from the organization’s files. Artificial data are generated for test
purposes only.
The purpose of system testing is to test the system systematically. It is the application
developer’s last opportunity to check that the system works before asking the users to
accept it.
Therefore, it is often split between test running and bug fixing. This helps ensure adequate
control over the way corrections are applied to the system and system test version control
documents are kept. System testing incorporates a number of other classes of testing.
4.2 TESTING OF THE NEW SYSTEM
4.2.1 Unit testing
The first level of test is unit testing. The purpose of unit testing is to ensure that each
subprogram (subroutine) is fully tested. To successfully test a system, the
programmer writes a test plan. A test Plan is a document that describes the
objectives, scope, approach, and focus of a software testing effort. This includes a
number of test runs such as the valid paths through the code, the exception and error
handling paths.
25 | P a g e
4.2.2 Functional testing
Functional testing is a type of software testing whereby the system is tested against
the functional requirement. Features are tested by feeding them input and
examining the output. Functional testing ensures that the requirements are satisfied
by the application. (Shormistha-Chatterjee, 2019)
4.2.3 Usability testing
Usability testing is method used to evaluate how easy a website is to use. The tests
take place with real users to measure how usable a website is and how easy it is for
users to reach their goals. This testing takes place with actual user or customers of
the product.
4.2.4 Acceptance testing
Acceptance testing is a level of software testing where a system is tested for
acceptability. The purpose of this test is to evaluate the systems compliance with the
business requirements and assess whether it is acceptable for delivery
4.2.5 Visual (live) testing
This involves testing individual page elements and checking that each one appears in
the right shape, position, and size. By using visual testing combined with your
existing developer tests, you'll be able to detect visual issues in the early stages of
your development cycle
4.3 IMPLEMENTATION OF THE NEW SYSTEM
As technologies change, many organizations find themselves needing to change over their
computer information systems. Upgrading these systems help them optimize their efficiency and
26 | P a g e
remain competitive. Common changeover areas include security systems, database systems,
accounting systems and managerial information systems. Deciding which changeover technique
will work best for a particular company depends on the type of changeover and degree of risk for
the company.
4.3.1 Parallel Changeover
In a parallel changeover, the new system runs simultaneously with the old for a given period of
time. Of all the techniques, this tends to be the most popular, mainly because it carries the lowest
risk. If something goes wrong at any point, the entire system can be reverted back to its original
state. A primary disadvantage in running two systems at the same time is higher costs. The
parallel changeover process also can be quite time-consuming.
4.3.2 Direct Changeover
Direct changeover, also referred to as immediate replacement, tends to be the least favorite of the
changeover techniques. In a direct changeover, the entire system is replaced instantly. Basically,
as soon as the new system is powered up, the old system is shut down. This type of changeover
carries the most risk because, if something goes wrong, reverting back to the old system usually
is impossible. Using the direct changeover technique tends to work best in situations where a
system failure isn't critical enough to result in a disaster for the company.
4.3.3 Phased Changeover
The phased changeover technique is considered a compromise between parallel and direct
changeovers. In a phased changeover, the new system is implemented one stage at a time. As an
example, consider a company working toward installing a new financial system. Implementing
27 | P a g e
the new system one department at a time, the company converts accounts receivable, accounts
payable, payroll, and so on. Advantages to phased changeovers are their low cost and isolated
errors. The main disadvantage is the process takes a long time to complete because phases need
to be implemented separately.
4.3.4 Pilot Changeover
With a pilot changeover, the new system is tried out at a test site before launching it companywide. For example, a bank may first test the system at one of its branches. This branch is referred
to as the pilot, or beta, site for the program. Since parallel changeovers tend to be expensive,
using the pilot changeover technique allows companies to run the new system next to their old
but on a much smaller scale. This makes the pilot changeover method much more cost-effective.
After the kinks are worked out of the system at the test site, companies usually opt to use the
direct changeover technique to launch the system company-wide. (Robertson, Chron, n.d.)
Due to the numerous complaints of the stressful process from clients and the facility managers,
the researchers intend to consider the direct change over in implementing the proposed system to
immediately address and solve the problem.
4.4 SYSTEM DOCUMENTATION
4.4.1 About the system
28 | P a g e
Figure 4.4.1: Home Page
Description: this page presents the client or the user to sign in or create an account to
help use the system.
5
29 | P a g e
Figure 4.4.2: Booking Request Page
This page helps to check availability of space and facility.
Figure 4.4.3: Facilities page
This page allows selecting and having a view of the facilities available in the
auditorium so that a choice would be made.
30 | P a g e
figure 4.4.4: Facilities selection page
This makes provisions for a user to select the preferred facility.
Figure 4.4.5: Payment options page
31 | P a g e
This pages provides a platform for transactions or payments options of a
preferred facility and service.
Figure 4.4.6: Payment page
This pages provides a platform for transactions or payments of a preferred
facility and service. It also present terms and conditions, policies, and
declarations of the auditorium.
32 | P a g e
Figure 4.4.7: Leave a message page
This allows users and clients to leave suggestions or messages for the
management of the auditorium.
.
33 | P a g e
Figure 4.4.9: Records Page
This page allows the administrator to view the details fed in by the clients.
34 | P a g e
Figure 4.4.1.1 Details of Facility page
This allows the administrator to enter details of a preferred facility.
Figure 4.4.1.2 : Services detail page
35 | P a g e
This interface enables the administrator to add a new service for users who want to
enjoy extra services.
Figure 4.4.1.3: Details Records
This presents the administrator with the details being fed by the clients.
36 | P a g e
Figure 4.4.1.4: Report Generation Page
This presents the administrator an opportunity to view and generate the details
fed into the system.
37 | P a g e
Figure 4.4.1.5: Policies Page
This enables to view the terms and conditions, policies, and declarations of the
auditorium.
38 | P a g e
4.4.1.6 Getting started
Figure 4.5.6: Local server page
This is where the system is locally ran.
39 | P a g e
CHAPTER 5
CONCLUSION AND RECOMMENDATION.
5.1 INTRODUCTION
Recently, internet has become very common which people use every time. Internet is used
through desktop, laptop, tablets and smart phones that can be found in the hands of a great
number of people in the world. The documented auditorium booking management project
is actually an attempt to establish a system by which the users can book the UPSA
auditorium from their comfort zones. It was a very challenging project due to the
distractions of the novel corona virus pandemic, we could not collect as much data as we
needed but we endeavored to fully complete it at the required period. At the initial stage,
we did not know how the interface would be. Though it is challenging to build up a new
project, we have built it. We think it is the first auditorium booking management system
for UPSA. Clients can successfully secure spaces in the auditorium within few minutes
without having to move to the school hence valuable time will be saved.
5.2 SUMMARY
Auditorium Booking Management System is a platform that provides interested parties the
opportunity to secure a space or facility in an auditorium irrespective of the place you are,
provided you are connected or have access to the internet. This has saved the time and has ease
clients’ efforts to booking a space. Online Auditorium Booking Management System has made
booking of facilities easier, faster, and convenient and has driven business to a new phase,
compelling competitors to make adjustments in order to prevent them from lagging behind. The
40 | P a g e
outcome of this project underscores the need for auditorium managers to take online market
seriously. Our survey established that stakeholders of the auditorium are fed up with the hectic
process the manual process presents them and they would like a technology driven process that
would bring an end to their inconveniences.
5.3
RECOMMENDATIONS
User requirements keep changing as the system is being used. Some of the future
enhancements that can be done to this system are:
i. As the technology emerges, it is possible to upgrade the system and can be adaptable
to desired environment.
ii. Because it is based on object-oriented design, any further changes can be easily
adaptable.
iii. Based on the future security issues, security can be improved using emerging
technologies.
iv. iv. Sub modules can be added.
v. Any in-built web browser can be added.
5.4 CONCLUSION
The “Auditorium booking management system” was successfully developed and is tested
for accuracy and quality. During this project, we have accomplished all the objectives and
this project meets the needs of the organization.
41 | P a g e
References
1. Acharya, Kamal, Attendance Management System Project (April 28, 2024).
Available at
SSRN: https://ssrn.com/abstract=4810251 or https://dx.doi.org/10.2139/ssrn.4810251
2. Acharya, Kamal, Online Food Order System (May 2, 2024). Available at
SSRN: https://ssrn.com/abstract=4814732 or https://dx.doi.org/10.2139/ssrn.4814732
3. Acharya, Kamal, University management system project. (May 1, 2024). Available at
SSRN: https://ssrn.com/abstract=4814103 or https://dx.doi.org/10.2139/ssrn.4814103
4. Acharya, Kamal, Online banking management system. (May 1, 2024). Available at
SSRN: https://ssrn.com/abstract=4813597 or https://dx.doi.org/10.2139/ssrn.4813597
5. Acharya, Kamal, Online Job Portal Management System (May 5, 2024). Available at
SSRN: https://ssrn.com/abstract=4817534 or https://dx.doi.org/10.2139/ssrn.4817534
6. Acharya, Kamal, Employee leave management system. (May 7, 2024). Available
at SSRN: https://ssrn.com/abstract=4819626 or https://dx.doi.org/10.2139/ssrn.4819626
7. Acharya, Kamal, Online electricity billing project report. (May 7, 2024). Available at
SSRN: https://ssrn.com/abstract=4819630 or https://dx.doi.org/10.2139/ssrn.4819630
8. Acharya, Kamal, POLICY MANAGEMENT SYSTEM PROJECT REPORT. (December
10, 2023). Available at
SSRN: https://ssrn.com/abstract=4831694 or https://dx.doi.org/10.2139/ssrn.4831694
9. Acharya, Kamal, Online job placement system project report. (January 10, 2023).
Available at
SSRN: https://ssrn.com/abstract=4831638 or https://dx.doi.org/10.2139/ssrn.4831638
10. Acharya, Kamal, Software testing for project report. (May 16, 2023). Available at
SSRN: https://ssrn.com/abstract=4831028 or https://dx.doi.org/10.2139/ssrn.4831028
11. Acharya, Kamal, ONLINE CRIME REPORTING SYSTEM PROJECT. (August 10, 2022).
Available at
SSRN: https://ssrn.com/abstract=4831015 or https://dx.doi.org/10.2139/ssrn.4831015
12. Acharya, Kamal, Burger ordering system project report. (October 10, 2022). Available at
SSRN: https://ssrn.com/abstract=4832704 or https://dx.doi.org/10.2139/ssrn.4832704
13. Acharya, Kamal, Teachers Record Management System Project Report (December 10,
2023). Available at
SSRN: https://ssrn.com/abstract=4833821 or https://dx.doi.org/10.2139/ssrn.4833821
14. Acharya, Kamal, Dairy Management System Project Report (December 20, 2020).
Available at
SSRN: https://ssrn.com/abstract=4835231 or https://dx.doi.org/10.2139/ssrn.4835231
15. Acharya, Kamal, Electrical Shop Management System Project (December 10, 2019).
Available at
SSRN: https://ssrn.com/abstract=4835238 or https://dx.doi.org/10.2139/ssrn.4835238
42 | P a g e
16. Acharya, Kamal, Online book store management system project report. (Febuary 10,
2020). Available at
SSRN: https://ssrn.com/abstract=4835277 or https://dx.doi.org/10.2139/ssrn.4835277
17. Acharya, Kamal, Paint shop management system project report. (January 10, 2019).
Available at
SSRN: https://ssrn.com/abstract=4835441 or https://dx.doi.org/10.2139/ssrn.4835441
18. Acharya, Kamal, Supermarket billing system project report. (August 10, 2021). Available
at SSRN: https://ssrn.com/abstract=4835474 or https://dx.doi.org/10.2139/ssrn.4835474
19. Acharya, Kamal, Online taxi booking system project report. (March 10, 2022). Available
at SSRN: https://ssrn.com/abstract=4837729 or https://dx.doi.org/10.2139/ssrn.4837729
20. Acharya, Kamal, Online car servicing system project report. (March 10, 2023). Available
at SSRN: https://ssrn.com/abstract=4837832 or https://dx.doi.org/10.2139/ssrn.4837832
21. Acharya, Kamal, School management system project report. (July 10, 2021). Available at
SSRN: https://ssrn.com/abstract=4837837 or https://dx.doi.org/10.2139/ssrn.4837837
22. Acharya, Kamal, Furniture Showroom Management System Project Report (March 21,
2021). Available at
SSRN: https://ssrn.com/abstract=4839422 or https://dx.doi.org/10.2139/ssrn.4839422
23. Acharya, Kamal, Online Vehicle Rental System Project Report (March 21, 2019).
Available at
SSRN: https://ssrn.com/abstract=4839429 or https://dx.doi.org/10.2139/ssrn.4839429
24. Acharya, Kamal, Fruit Shop Management System Project Report (August 10, 2023).
Available at
SSRN: https://ssrn.com/abstract=4841048 or https://dx.doi.org/10.2139/ssrn.4841048
25. Acharya, Kamal, Hall Booking Management System Project Report (December 21,
2023). Available at
SSRN: https://ssrn.com/abstract=4841055 or https://dx.doi.org/10.2139/ssrn.4841055
26. Acharya, Kamal, Lundry Management System Project Report (October 21, 2023).
Available at
SSRN: https://ssrn.com/abstract=4841059 or https://dx.doi.org/10.2139/ssrn.4841059
27. Acharya, Kamal, A CASE STUDY OF CINEMA MANAGEMENT SYSTEM PROJECT
(September 25, 2023). Available at
SSRN: https://ssrn.com/abstract=4841209 or https://dx.doi.org/10.2139/ssrn.4841209
28. Acharya, Kamal, A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT
(May 25, 2024). Available at
SSRN: https://ssrn.com/abstract=4841210 or https://dx.doi.org/10.2139/ssrn.4841210
29. Acharya, Kamal, ONLINE DATING MANAGEMENT SYSTEM PROJECT REPORT.
(April 25, 2023). Available at
SSRN: https://ssrn.com/abstract=4842066 or https://dx.doi.org/10.2139/ssrn.4842066
30. Acharya, Kamal, ONLINE RESUME BUILDER MANAGEMENT SYSTEM PROJECT
REPORT. (April 25, 2021). Available at
SSRN: https://ssrn.com/abstract=4842071 or https://dx.doi.org/10.2139/ssrn.4842071
43 | P a g e
31. Acharya, Kamal, TOLL TEX MANAGEMENT SYSTEM PROJECT REPORT (August 21,
2023). Available at
SSRN: https://ssrn.com/abstract=4842082 or https://dx.doi.org/10.2139/ssrn.4842082
32. Acharya, Kamal, Chat Application Through Client Server Management System Project
Report (June 25, 2023). Available at
SSRN: https://ssrn.com/abstract=4842761 or https://dx.doi.org/10.2139/ssrn.4842761
33. Acharya, Kamal, Web Chatting Application Management System Project Report (April
25, 2022). Available at
SSRN: https://ssrn.com/abstract=4842771 or https://dx.doi.org/10.2139/ssrn.4842771
34. Acharya, Kamal, Automobile management system project report (May 25, 2022).
Available at
SSRN: https://ssrn.com/abstract=4846917 or https://dx.doi.org/10.2139/ssrn.4846917
35. Acharya, Kamal, College bus management system project report (April 25, 2023).
Available at
SSRN: https://ssrn.com/abstract=4846920 or https://dx.doi.org/10.2139/ssrn.4846920
36. Acharya, Kamal, Courier management system project report (May 25, 2023). Available
at SSRN: https://ssrn.com/abstract=4846922 or https://dx.doi.org/10.2139/ssrn.4846922
37. Acharya, Kamal, Event management system project report (April 25, 2021). Available at
SSRN: https://ssrn.com/abstract=4846927 or https://dx.doi.org/10.2139/ssrn.4846927
38. Acharya, Kamal, Library management system project report II (May 25, 2020). Available
at SSRN: https://ssrn.com/abstract=4848857 or https://dx.doi.org/10.2139/ssrn.4848857
39. Kamal Acharya. Teacher record management system project report. Authorea. August 02,
2024.
DOI: https://doi.org/10.22541/au.172261514.46787329/v1
40. Kamal
Acharya. POST
OFFICE
MANAGEMENT
SYSTEM
PROJECT
REPORT. Authorea. August 02, 2024.
DOI: https://doi.org/10.22541/au.172261514.44494375/v1
41. Kamal Acharya. Fruit shop management system project report. Authorea. August 02,
2024.
DOI: https://doi.org/10.22541/au.172261514.42227675/v1
42. Kamal Acharya. Dairy management system project report. Authorea. August 02, 2024.
DOI: https://doi.org/10.22541/au.172261513.39402347/v1
43. Kamal Acharya. DATA COMMUNICATION AND COMPUTER NETWORK
MANAGEMENT SYSTEM PROJECT REPORT. Authorea. August 01, 2024.
DOI: https://doi.org/10.22541/au.172254873.37480177/v1
44. Kamal Acharya. School management system project report. Authorea. August 01, 2024.
DOI: https://doi.org/10.22541/au.172254873.34023165/v1
45. Kamal Acharya. A CASE STUDY OF CINEMA MANAGEMENT SYSTEM
PROJECT. Authorea. August 01, 2024.
DOI: https://doi.org/10.22541/au.172254873.30191075/v1
46. Kamal Acharya. A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM
PROJECT. Authorea. August 01, 2024
DOI: https://doi.org/10.22541/au.172254872.26972790/v1
44 | P a g e
47. Kamal
Acharya. Web
chatting
application
project
report
management
system. Authorea. August 01, 2024.
DOI: https://doi.org/10.22541/au.172254871.18588592/v1
48. Kamal
Acharya. RETAIL
STORE
MANAGEMENT
SYSTEM
PROJECT
REPORT. Authorea. August 01, 2024.
DOI: https://doi.org/10.22541/au.172254871.14590154/v1
49. Kamal
Acharya. SUPERMARKET
MANAGEMENT
SYSTEM
PROJECT
REPORT. Authorea. August 01, 2024.
DOI: https://doi.org/10.22541/au.172252491.19145062/v1
50. Kamal
Acharya. SOCIAL
MEDIA
MANAGEMENT
SYSTEM
PROJECT
REPORT. Authorea. August 01, 2024.
DOI: https://doi.org/10.22541/au.172252491.11210579/v1
51. Kamal Acharya. Online music portal management system project report. Authorea. August
01, 2024.
DOI: https://doi.org/10.22541/au.172252488.89734698/v1
52. Kamal
Acharya. COLLEGE
BUS
MANAGEMENT
SYSTEM
PROJECT
REPORT. Authorea. July 31, 2024.
DOI: https://doi.org/10.22541/au.172245277.70798942/v1
53. Kamal
Acharya. AUTOMOBILE
MANAGEMENT
SYSTEM
PROJECT
REPORT. Authorea. July 31, 2024.
DOI: https://doi.org/10.22541/au.172245276.67982593/v1
54. Kamal Acharya. Ludo management system project report. Authorea. July 31, 2024
DOI: https://doi.org/10.22541/au.172243999.98091616/v1
55. Kamal Acharya. Literature online quiz system project report. Authorea. July 31,
2024
DOI: https://doi.org/10.22541/au.172243825.53562953/v1
56. Kamal Acharya. Avoid waste management system project. Authorea. July 29, 2024
DOI: https://doi.org/10.22541/au.172228528.85022205/v1
57. Kamal Acharya. CHAT APPLICATION THROUGH CLIENT SERVER MANAGEMENT
SYSTEM PROJECT. Authorea. July 29, 2024.
DOI: https://doi.org/10.22541/au.172228527.74316529/v1
58. Kamal Acharya. Parking allotment system project report. Authorea. July 29, 2024.
DOI: https://doi.org/10.22541/au.172227078.89966943/v1
59. Kamal
Acharya. HEALTH
INSURANCE
CLAIM
MANAGEMENT
SYSTEM. Authorea. July 26, 2024.
DOI: https://doi.org/10.22541/au.172202020.06707762/v1
60. Kamal
Acharya. ONLINE
TRAIN
BOOKING
SYSTEM
PROJECT
REPORT. Authorea. July 22, 2024.
DOI: https://doi.org/10.22541/au.172167914.45160406/v1
61. Kamal Acharya. COVID MANAGEMENT SYSTEM PROJECT REPORT. Authorea. July
16, 2024.
DOI: https://doi.org/10.22541/au.172116616.60220024/v1
62. Kamal Acharya. COVID MANAGEMENT SYSTEM PROJECT REPORT. Authorea. July
16, 2024.
DOI: https://doi.org/10.22541/au.172116616.60220024/v1
45 | P a g e
APPENDICES
I.
Appendix: Programming Codes
. Admin controller
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Auth;
use Session;
use DB;
use App\User;
use App\Facility;
use App\Service;
use App\FacilityImages;
use App\BookingFacility;
class AdminController extends Controller
{
//
public function login(){
return view('admin.login');
}
public function home(){
return view('admin.home');
}
public function logout(){
Auth::logout();
return redirect('/admin/login');
}
public function generateRandomNumber($length=5) {
$result = '';
for($i = 0; $i < $length; $i++) {
$result .= mt_rand(0, 9);
}
return $result;
}
public function authenticate(Request $r){
if(Auth::attempt(['username' => $r->username, 'password' => $r->password],$r->remember)){
return redirect()->intended('/admin/home');
46 | P a g e
}
Session::flash('error','Invalid Username or Password');
return back();
}
public function account(){
$users = User::all();
return view('admin.account',compact('users'));
}
public function deleteUser(Request $r){
$del = User::where('id',$r->id)->delete();
if($del){
return ['status'=>'success'];
}
return ['status'=>'error'];
}
public function saveaccount(Request $r){
$add = User::create([
'username'=>$r->username,
'password'=>bcrypt($r->password)
]);
if($add){
Session::flash('success','New Account Added Successfully');
return back();
}
Session::flash('error','User could not be added');
return back();
}
public function addFacility(){
return view('admin.addfacility');
}
public function saveFacility(Request $r){
//return $r->all();
$confadd = [];
$musicadd= [];
if(isset($r->conf_add_count) && $r->conf_add_count >=1){
for($i=1;$i<=$r->conf_add_count;$i++){
array_push($confadd,['conf_add_amount'=>$r->{'conf_add_amount'.$i},'conf_add_hour'=>$r>{'conf_add_hour'.$i}]);
}
}
47 | P a g e
if(isset($r->music_add_count) && $r->music_add_count >=1){
for($i=1;$i<=$r->music_add_count;$i++){
array_push($musicadd,['music_add_amount'=>$r>{'music_add_amount'.$i},'music_add_hour'=>$r->{'music_add_hour'.$i}]);
}
}
$mainimage = null;
if($file = $r->file('main_image')){
$ext = $file->extension();
$newname = $this->generateRandomNumber(20).'.'.$ext;
$file->move('storage', $newname);
$mainimage = $newname;
}
$add = Facility::create([
'name'=>$r->name,
'description'=>$r->description,
'capacity'=>$r->capacity,
'conf_fixed_price'=>$r->conf_amount,
'conf_fixed_hours'=>$r->conf_hours,
'conf_additional_price'=>json_encode($confadd),
'music_fixed_price'=>$r->music_amount,
'music_fixed_hours'=>$r->music_hours,
'image'=>$mainimage,
'music_additional_price'=>json_encode($musicadd)
]);
if($add){
if($r->hasFile('supporting_images')){
$files = $r->file('supporting_images');
foreach($files as $file) {
$ext = $file->extension();
$newname = $this->generateRandomNumber(20).'.'.$ext;
$file->move('storage', $newname);
FacilityImages::create([
'facility_id'=>$add->id,
'image'=> $newname
]);
}
}
Session::flash('success','New Facility Added Successfully');
return back();
}
48 | P a g e
else{
Session::flash('error','Error Whiles Adding a new Facility. Try again');
return back();
}
}
public function facilityList(){
$facilities = Facility::all();
return view('admin.facilitylist',compact('facilities'));
}
public function deleteFacility(Request $r){
$del = Facility::where('id',$r->id)->delete();
if($del){
return ['status'=>'success'];
}else{
return ['status'=>'error'];
}
}
public function addService(){
return view('admin.addservice');
}
public function saveService(Request $r){
//return $r->all();
$confadd= [];
if(isset($r->conf_add_count) && $r->conf_add_count >=1){
for($i=1;$i<=$r->conf_add_count;$i++){
array_push($confadd,['add_amount'=>$r->{'conf_add_amount'.$i},'add_hour'=>$r>{'conf_add_hour'.$i}]);
}
}
$add = Service::create([
'name'=>$r->name,
'description'=>$r->description,
'type'=>$r->type,
'fixed_price'=>$r->conf_amount,
'fixed_hours'=>$r->conf_hours,
'additional_price'=>json_encode($confadd)
]);
if($add){
Session::flash('success','New Service Added Successfully');
return back();
49 | P a g e
}
else{
Session::flash('error','Error Whiles Adding a new Service. Try again');
return back();
}
}
public function serviceList(){
$services = Service::all();
return view('admin.servicelist',compact('services'));
}
public function deleteService(Request $r){
$del = Service::where('id',$r->id)->delete();
if($del){
return ['status'=>'success'];
}else{
return ['status'=>'error'];
}
}
public function clients(){
return view('admin.client');
}
public function showhide($id,$status){
Facility::where('id',$id)->update(['status'=>$status]);
Session::flash('success','Action Completed Successfully');
return redirect('/admin/facilitylist');
}
public function settings(){
$settings = DB::table('settings')->where('id',1)->first();
return view('admin.settings',compact('settings'));
}
public function saveSettings(Request $r){
$save = DB::table('settings')->where('id',1)->update([
'terms'=>$r->terms,
'policy'=>$r->policy,
'declaration'=>$r->declaration
]);
Session::flash('success','Settings Updated Successfully');
return back();
}
50 | P a g e
public function messages(Request $r){
$messages = DB::table('messages')->orderBy('id','DESC')->get();
return view('admin.messages',compact('messages'));
}
public function reports(){
return view('admin.reports');
}
public function fetchreport(Request $r){
$dates = explode('-',$r->dateranges);
$startdate = date('Y-m-d H:i',strtotime($dates[0]));
$enddate = date('Y-m-d H:i',strtotime($dates[1]));
if($r->facilities=='all'){
$bookings = BookingFacility::where('startdate','>=',$startdate)>where('enddate','<=',$enddate)->get();
}else{
$bookings = BookingFacility::where('facility_id',$r->facilities)>where('startdate','>=',$startdate)->where('enddate','<=',$enddate)->get();
}
return view('admin.reports',compact('bookings'));
}
}
Front end controller
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Client;
use Session;
use Auth;
use Hash;
use App\Facility;
use App\Service;
use App\Slydepay\SlydeIntegrated;
use App\Booking;
use App\BookingFacility;
use Mail;
use DB;
class FrontendController extends Controller
{
51 | P a g e
//
public function book(){
return view('book');
}
public function checkStatus(Request $r){
//return $r->all();
$dates = explode('-',$r->thedate);
$startdate = date('Y-m-d H:i',strtotime($dates[0]));
$enddate = date('Y-m-d H:i',strtotime($dates[1]));
if(BookingFacility::where('facility_id',$r->facility)->where('startdate','>=',$startdate)>where('enddate','<=',$enddate)->exists()){
Session::flash('error','Date you have selected has already been booked');
return back();
}
Session::flash('success','Date you have selected is Available. Start Booking');
return back();
}
public function generateRandomNumber($length=5) {
$result = '';
for($i = 0; $i < $length; $i++) {
$result .= mt_rand(0, 9);
}
return $result;
}
public function login(){
return view('login');
}
public function signup(){
return view('signup');
}
public function logout(){
Auth::guard('client')->logout();
return redirect('/');
}
public function createClient(Request $r){
$checkemail = Client::where('email',$r->email)->exists();
52 | P a g e
if($checkemail){
Session::flash('error','Sorry. This email already exists in our system.');
return back();
}
$token = $this->generateRandomNumber(20);
$add = Client::create([
'surname'=>$r->surname,
'othernames'=>$r->othernames,
'phone'=>$r->phone,
'email'=>$r->email,
'password'=>bcrypt($r->password),
'emailtoken'=>$token
]);
if($add){
try{
$link = url('/activate').'/'.$token.'/'.$add->id;
Mail::send('emails.register',['surname' => $r->surname,'link'=>$link],function ($m) use ($r){
$m->from('
[email protected]', 'UPSA Auditorium Booking');
$m->to($r->email)->subject('User Account Activation');
});
}catch(\Exception $e){}
Session::flash('success','Account Creation Successful.Please Check your Email to Activate
Account '.$link);
return redirect('/login');
}
Session::flash('error','Error Whiles Creating Account. Please try again');
return back();
}
public function activateAccount($token,$id){
$find = Client::where('emailtoken',$token)->where('id',$id)->exists();
if($find){
Client::where('id',$id)->update([
'activated'=>1,
'emailtoken'=>''
]);
Session::flash('success','Your Account Has been Activated Successfully. Login to Continue');
return redirect('/login');
}else{
return view('errors.404');
}
}
53 | P a g e
public function authenticate(Request $r){
if(env('VALIDATEBEFORELOGIN','false')=='true'){
$check = Client::where('email',$r->email)->where('activated',0)->exists();
if($check){
Session::flash('error','Sorry.. Your Account has not been activated.. Please check your email and
activated it or Contact System Admin');
return back();
}
}
if(Auth::guard('client')->attempt(['email' => $r->email, 'password' => $r->password])){
return redirect()->intended('/book');
}
Session::flash('error','Invalid Username or Password');
return back();
}
public function gotobook1(Request $r){
Session::put('eventdetails',$r->all());
$getdate = explode('-',$r->eventdate);
$getdate[0] = $this->formatDate(trim($getdate[0]));
$getdate[1] = $this->formatDate(trim($getdate[1]));
if(Booking::where('startdate','>=',$getdate[0])->where('enddate','<=',$getdate[1])->exists()){
Session::flash('error','Sorry the date you selected is not available.. Choose another event date');
return back();
}
return redirect('/book1');
}
public function book1(){
if(!Session::has('eventdetails')){
return redirect('/book');
}
//dd(Session::get('eventdetails'));
$facilities = Facility::where('status',1)->get();
return view('book1',compact('facilities'));
}
public function addtocart(Request $r){
if(Session::has('cart')){
$cart = Session::get('cart');
}else{
$cart = [];
54 | P a g e
}
array_push($cart,$r->except(['_token']));
Session::put('cart',$cart);
Session::flash('success','Item Successfully Added to Cart');
return back();
}
public function book2(){
if(!Session::has('eventdetails')){
return redirect('/book');
}
if(!Session::has('cart')){
return redirect('/book1');
}
$cart = Session::get('cart');
//dd($cart);
if(count($cart)==0){
Session::flash('error','No Item in cart');
return redirect('/book1');
}
$services = Service::all();
return view('book2',compact('cart','services'));
}
public function account(){
return view('account');
}
public function savePassword(Request $r){
$client = Client::where('id',Auth::guard('client')->user()->id)->first();
if(Hash::check($r->oldpassword,$client->password)){
$client->password = bcrypt($r->password);
$client->save();
Session::flash('success','Password Updated Successfully');
return back();
}
Session::flash('error','Old Password you entered is invalid ');
return back();
}
public function makePayment(Request $r){
$cust_ref = $this->generateRandomNumber(10);
$pay = SlydeIntegrated::createInvoice($cust_ref,$r->description,$r->amount);
55 | P a g e
//dd($pay);
if($pay['status']=='success'){
Session::put('paydetails',['cust_ref'=>$cust_ref,'amount'=>$r->amount]);
return redirect("https://app.slydepay.com/paylive/detailsnew.aspx?pay_token=".$pay['response']>result->payToken);
}
Session::flash('error','Payment Initialization failed... try again');
return back();
}
public function formatDate($date){
$getpart = explode(' ',$date);
$datepart = explode('/',$getpart[0]);
$newdate = $datepart[2].'-'.$datepart[1].'-'.$datepart[0];
return $newdate.' '.$getpart[1];
}
public function response(Request $r){
if(isset($r->status)){
if($r->status==0){
$ev = Session::get('eventdetails');
$cart = Session::get('cart');
$paydetails = Session::get('paydetails');
$dates = explode('-',$ev['eventdate']);
$startdate = date('Y-m-d H:i',strtotime($dates[0]));
$enddate = date('Y-m-d H:i',strtotime($dates[1]));
$savetodb = Booking::create([
'nameofperson'=>$ev['nameofperson'],
'website'=>$ev['website'],
'rep_person'=>$ev['rep_person'],
'rep_phone'=>$ev['rep_phone'],
'rep_email'=>$ev['rep_email'],
'description'=>$ev['description'],
'expnopeople'=>$ev['expnopeople'],
'expnocars'=>$ev['expnocars'],
'startdate'=>$startdate,
'enddate'=>$enddate,
'extrainfo'=>$ev['extrainfo'],
'highprofile'=>$ev['highprofile'],
'package'=>json_encode($cart),
'haspaid'=>1,
'amountpaid'=>$paydetails['amount'],
'payment_method'=>'',
56 | P a g e
'reference'=>$r->cust_ref,
'date_paid'=>date('Y-m-d H:i:s'),
'client_id'=>Auth::guard('client')->user()->id,
]);
// $evdate = explode('-',$ev['eventdate']);
$facilitybooked = [];
foreach($cart as $c){
$getdate = explode('-',$c['date']);
$getdate[0] = $this->formatDate(trim($getdate[0]));
$getdate[1] = $this->formatDate(trim($getdate[1]));
BookingFacility::create([
'booking_id'=>$savetodb->id,
'facility_id'=>$c['id'],
'type'=>$c['type'],
'thedate'=>$startdate,
'startdate'=>$getdate[0],
'enddate'=>$getdate[1]
]);
array_push($facilitybooked,Facility::where('id',$c['id'])->first(['name'])->name);
}
try{
$data = [
'surname'=>Auth::guard('client')->user()->surname,
'nameofperson'=>$ev['nameofperson'],
'website'=>$ev['website'],
'description'=>$ev['description'],
'amountpaid'=>$paydetails['amount'],
'facilities'=>$facilitybooked
];
Mail::send('emails.afterpurchase',$data,function ($m){
$m->from('
[email protected]', 'UPSA Auditorium Booking');
$m->to(Auth::guard('client')->user()->email)->subject('Order Summary');
});
}catch(\Exception $e){}
Session::flash('success','Payment went through Successfully');
return redirect('/book2');
}
57 | P a g e
Session::flash('error','Payment was not successful.. Try again');
return redirect('/book2');
}
Session::flash('error','Payment was not successful.. Try again');
return redirect('/book2');
}
public function payment(){
$payment = Booking::where('client_id',Auth::guard('client')->user()->id)->get();
return view('payment',compact('payment'));
}
public function removeItem($index){
$cart = Session::get('cart');
if(count($cart)==0){
Session::flash('error','No item in cart');
return back();
}
unset($cart[$index]);
$cart = array_values($cart);
//$ct = array_splice($cart,$index,1);
Session::put('cart',$cart);
Session::flash('success','Item Successfully removed from cart');
return back();
}
public function gallery(){
$facilities = Facility::get();
return view('gallery',compact('facilities'));
}
public function message(){
return view('messages');
}
public function sendmessage(Request $r){
$save = DB::table('messages')->insert([
'client_id'=>Auth::guard('client')->user()->id,
'message'=>$r->message
]);
Session::flash('success','Message Has been Sent Successfully');
return back();
58 | P a g e
}
}
59 | P a g e