website as tool for compare credit card offers
TRANSCRIPT
Website as Tool for Compare Credit Card Offers
MIRELA-CATRINEL VOICU, IZABELA ROTARU
Faculty of Economics and Business Administration
West University of Timisoara
ROMANIA
[email protected], [email protected], http://www.feaa.uvt.ro
Abstract: - In this paper we propose a website model which can be used when someone wants to choose a credit
card in Romania. In our study we consider the shopping cards for natural entities. Firstly, we present the
website data, which refers to: banks, credit cards, clients, documents, charges, commissions, interests,
incentives and benefits, partners etc. Our website model contains two parts of information: one part on banks
and their credit card offers and a second part on tools used in order to compare the credit cards. The last part
helps the client to choose the credit card which corresponds to his preferences. Also, the website can be used as
an advertising tool for banks.
Key-Words: - Website, Database, Credit Cards, Java, SQL Server, Financial Education.
1 Introduction Denisa Mateescu – General Manager Romania,
MasterCard Europe - speaks on the necessity of
financial education and also suggests the website
www.EduCard.ro (see also [1] page 24). Many
banks display their offers providing information on
credit cards, but unfortunately the way of
presentation is different from a bank to another.
Additionally, some of them don’t provide complete
information on offers. In this last case, the client can
find on the bank website a message like “for more
information on credit card send us a message at the
e-mail address…”. This way of general presentation
allows us to have an image on certain credit cards,
but is difficult to compare different offers.
Even if credit cards have many common features,
they also have some differences. In this paper we
want to build a websites model for offer
comparison, which helps the client to choose the
best card according with his preferences. For this
reason, firstly we present the most important
information on offers. Here, we use the information
from the websites of different Romanian banks. Our
website model allows us to find the offers of each
bank from the database and also to detect offers
according with some criteria.
2 Data presentation In this section we will present the website database
data. Basically information on banks includes:
bank name, address, phone, fax, email and website.
Basically information on cards includes: card
bank, card name, currency (RON, EUR or USD),
logo (Visa, MasterCard or American Express),
website, if it is co-branded (with yes or no value),
etc.
We can consider the following card features:
chip, magnetic strip, embossed, international, etc.
Other data on credit cards refers to information
as the following: standard credit limit (this value
represents the general credit limit), superior credit
limit(under certain conditions, the credit limit can be
greater than the standard limit credit and this field
provide this new maximum limit), number of net
monthly salaries(the limit credit depends on the
client salary – in this field we store the number of
salaries considered to provide the client limit credit),
grace period (generally this value is between 45 and
61), daily limits domestic cash advance, daily limits
international cash advance, minimum monthly
payment amount, due date(for example, the fourth
day of every month), observations on due date (in
some cases, the due date is obtained by adding a fix
number of days to the date of account statement
issuance), validity(the number of years for which the
credit card is valid), if there is an internet banking
service, number of maximum supplementary cards
(for the same account, the client can obtain a
different number of supplementary cards – for
children, wife/husband, etc.), minimum age for
supplementary card (generally, this minimum is 14
or 18), maximum age for supplementary card
(generally, this value refer to retired persons),
minimum money deposit for account opening (the
minimum amount of money when you open an
account), daily limits cash withdrawals in Romania,
daily limits cash withdrawals abroad, daily limits
sales and daily limit internet payments, etc.
Recent Researches in Communications, Signals and Information Technology
ISBN: 978-1-61804-081-7 96
The limits presented above may help the client in
case of fraud. However, if you want to use large
amounts, e.g. flight tickets plus holiday
accommodation for the whole family, these limits
can present a problem. For this reason, when the
client chooses a credit card, he must know all these
data and the generally future using of the card.
In order to obtain a credit card, the client must
satisfy some conditions, as followings: client age,
net income and some observations on the net income
(it is specified if the demanded minimum income
corresponds for employees, retired, professionals or
private undertakers), employed period, the residence
in Romania (different banks impose it) etc.
In order to obtain a credit card, the client must
provide different documents. The document list
includes the following information: application
form, contract, photo, copy of identity card, home
acts, invoice of utilities registered on home address,
documents proving income, etc. In our website
model, the credit card presentation must include the
information on these documents.
In the website model, each credit card has
associated a lot of fees, commissions and interests,
as followings: issuing fee, annual commission for
card management, cash withdrawal from bank
ATMs percent, cash withdrawal from banks ATMs
fix value, cash withdrawal from other banks ATMs
percent, cash withdrawal from other banks ATMs
fix value, cash advance at bank counter percent,
cash advance at bank counter fix value, cash
withdrawal from ATM - international transactions
percent, cash withdrawal from ATM - international
transactions fix value, transfer from card account
to another bank account, foreign exchange,
supplementary card issuing fee, emergency card
replacement, bank ATM balance inquiry, new pin
generation, pin change at bank ATMs, chargeback
requests not sustained, duplicates or copy for
current month, duplicates for previous
months(statement/month), over limit fee, card
reporting (lost/stolen/destroyed), emergency cash
advance, emergency card replacement,
information, monthly fee for, alert (smse-mail),
daily limits internet sales, interest rate for positive
balance, interest for credit facility, overdue interest
rate for credit limit, overdue interest rate (in case
of partial repayment and cash withdrawal), overdue
interest rate for cash withdrawal (more than the
limit credit).
Many banks associate with the credit cards
different incentives and benefits - such as travel
insurance, life insurance, credit insurance, utility
payment, etc.
In the case of many cards, banks have partners
from different activity areas.
We save all presented information in tables from
the website database and we explore them inside the
website.
3 Website with credit card offer 3.1 Website presentation
In the Figure 1, we present all the banks (from
our database) which have credit card offers. We
can view the bank name and its website address.
Figure 1: Selecting banks
Figure 2: Credit card offers
For the selected banks, in Figure 2 we can
view the credit cards offers. With a click on the
corresponding “...” button from Figure 2, in
Figure 3 we can view all data on the selected
card, using the database which contains the
information presented in the previous section.
The website has a dynamical content. In
Figure 1 we find all banks from the database.
This means that if we add a bank in database, in
the website we can view its data.
Recent Researches in Communications, Signals and Information Technology
ISBN: 978-1-61804-081-7 97
Figure 3: Information on the selected credit
card
Also, if we delete a bank from the database,
its name will not be displayed on the website.
The entire website implementation refers only
dynamical pages and has a complex code.
In Figure 2, with a click on the select card
using criteria button we provide a set of criteria
for credit cards (see Figure 4). For example, in
case of grace period, the clients have
preferences. A card can have many interesting
features for the client, but for example, if the
daily limit for internet sales is a small value and
the client is focused on internet payments with
significant money values (e.g. fly, hotel
booking, etc), this feature removes the credit
card from the list of preferences. In our website
model, the client can also select his preferences
for these features and for all the others
presented in the previous section. In order to
have an idea on the possibilities of criteria
specification, see also the famous websites like
www.booking.com and www.emag.ro.
Figure 4: Example of controls used in order to specify preferences on credit cards
For the specification of the client
preferences, we use different html controls (see
Figure 4 for examples). After criteria
specification, the credit card offers are
presented like in Figure 2 and selecting a credit
card offer we can view its associated data as in
Figure 3.
When we specify all card preferences like in
Figure 4 (here we find presented only some
examples), in order to obtain the offer results as
in Figure 2, the applications uses a general
SQL statement as the following: “SELECT
fields FROM tables WHERE
where_expressions”. We can observe that our
database has many fields which can be used to
formulate conditions on credit cards like in
Figure4. This means that for our SQL statement,
in the where_expressions, we can have very
complicated expressions. This problem has
implementation solutions in any situation and a
general algorithm is presented in [7]. A
particular case on a similar problem was
presented in [6]. The general idea of this
algorithm is the transforming (by the program)
of the where_expressions in a simple
conditions, using relational algebra tools.
3.2. Source code presentation In order to have an idea on implementation, now, we
provide the code for pages presented in Figure 1.
In Figure 1 we have a jsp file which contains the
title and a frame in which we display the banks from
database. In this frame we use a servlet.
<%@page contentType="text/html"
pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD
HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="Content-Type"
content="text/html; charset=UTF-8"> <title>Credit
card offers</title></head>
// The JavaScript function used at the submit button.
<body><table><tr><td>
// The title
<center><font color=black size="12"
face="Blackadder ITC"> <b>C R E D I T C A R D
S</b></font></center><form name="form1"
Recent Researches in Communications, Signals and Information Technology
ISBN: 978-1-61804-081-7 98
action=" http://localhost:8080/CreditCards/offers "
method=post > <BR><center> <input
type="submit" value="View
data"></center></form></td></tr><tr><td> <iframe
width="900" height="2000"
name=frame1></</iframe></td</tr></table></body
>
</html>
We use a servlet which contains functions on the
header and the footer of website pages and data on
database (url, user and password):
public class Servlet1 extends HttpServlet {
protected String user = ""; protected String
password = "";
protected String dbURL = "jdbc:odbc:bank";
protected Statement s;
protected void db_statement(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver
");
Connection c = DriverManager.getConnection
(dbURL, user, password);
s = c.createStatement();
}catch (ClassNotFoundException a) {}}
public void header(String title, PrintWriter out)
throws IOException{
out.println("<html><head><title>"+title+"</title></
head>");}
public void footer(PrintWriter out) throws
IOException{
out.println("</body></html>");}}
In order to display the banks in Figure 1, in a
servlet, we use the following function:
protected void processRequest(HttpServletRequest
request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType("text/html;charset=UTF-
8");
PrintWriter out = response.getWriter();
try {
// The header function is defined in Servlet1.
header("Credit cards",out);
out.println("<body><form name=\"form1\"
action=\" http://localhost:8080/CreditCards/banks\
\" method=post >");out.println("<table><tr><td
valign=\"top\"><table><tr><td "+
"valign=\"top\">");
String sql_statement="", bank="", wb=""; int i=0;
// We select all banks from database
sql_statement="select Bank, website from Banks";
try {
// The function db_statement() was defined in
Servlet1 servlet
db_statement();
ResultSet r = s.executeQuery(sql_statement); while (r.next()) {
bank=r.getString(1);wb=r.getString(2); i++;
//For each bank we have a corresponding check box
component /
out.println("<input type=\"checkbox\" value="+
bank+" name=r" +i+" > <font size=4 color=black>
<b>"+bank+" "+wb+ "</b></font> <br>");
} r.close();s.close();}catch (SQLException a) {}
// The submit buttons “ok” from Figure 1
out.println("</td></tr><tr><td valign=\"top\"><Br>
<input type= "+ \"submit\" value=\"OK\"> <iframe
name=frame width=\"700\" height=\"1800\"> "+ "
</iframe></td></tr> </table></form> ");
// The footer function is defined in Servlet1.
footer(out);} finally { out.close();}}
In Figure 1 we select the banks for which we
want to view the offers. These offers are presented
in Figure 2 and we use (in a servlet) the following
function:
protected void processRequest(HttpServletRequest
request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType("text/html;charset=UTF-
8");
PrintWriter out = response.getWriter();
try {
// The header function is defined in Servlet1.
header("Credit cards",out);
// The JavaScript function used at the submit buttons
“…” from Figure 2
out.println(" <Script
Language=\"JavaScript\">function
ok(){document.form2.action="+
"\http://localhost:"8080/CreditCards/offers\";}</Scri
pt><body>form name=\"form2\" "+ "action=\" \"
method=post> ");String sql_statement=""; int
no_banks=0;
//We calculate the number of banks from our
database
sql_statement="select count(*) from banks";
try {
Recent Researches in Communications, Signals and Information Technology
ISBN: 978-1-61804-081-7 99
// The function db_statement() was defined in
Servlet1 servlet
db_statement(); ResultSet r = s.executeQuery( sql_statement);
while (r.next()) {
no_banks=r.getInt(1);
}r.close();r.close(); } catch catch (SQLException
a) {}
String t=""; String g="";int i=0;int ID_button=0;
/* In the case of each selected bank (see Figure 2),
we will provide the corresponding offers */
for(i=0;i<=no_banks;i++){ t=
request.getParameter("r"+String.valueOf(i));
// We test if a certain bank was selected
if(t!=null){int id_bank=0;
// For a selected bank, we detect its ID
sql_statement="select Id_bank from banks where
bank='"+t.trim()+"'";
try {
db_statement(); ResultSet r = s.executeQuery( sql_statement);
while (r.next()) {
id_bank=r.getInt(1);
}r.close();s.close(); }
catch (SQLException a) {}
/* For a selected bank, we create a table with the
corresponding offers*/
out.println("<table
border=1><tr><td>"+t.trim()+"</dt></tr>");
sql_statement="SELECT ID_card, name FROM
cards where id_bank="+ String.valueOf(id_bank);
String ID_field="", String name=""; int j=0;
try {
db_statement(); ResultSet r = s.executeQuery( sql_statement);
// The table rows with information on offers
while (r.next()) {
j++;ID_button++;ID_field=r.getString(1);name=r.ge
tString(2);
out.println("<tr><td><input type=\"hidden\"
value="+ID_field+" name=it "+ ID_button+ "
></td>");
// The offer names
out.println("<td><font
color=black>"+name+"</font><input "+
"type=\"hidden\" value="+name+" name=if
"+ID_button+"></td>");
/* In the case of each offer, in order to display the
information presented in Figures 2, we use a submit
button*/
out.println("<td><input type=\"submit\" name=b
"+ID_button+" value=\"...\" onclick= "+
"\"ok()\"></td>");
}r.close(); s.close();}
catch (SQLException a) {}
out.println("</table>");}}
// Here we save the numbers of “…” buttons
out.println("<br><input type=\"hidden\"
value="+ID_button+ name=\"h\"></td></form>");
footer(out);} finally { out.close();}}
4 Conclusion Using websites for comparing banking
product offers, we can help the client to find the
best offers according with his criteria. But also,
this is an advertising tool for banks. Our study
was focused on credit cards, but it can be used
for any others banking products and it isn’t
limited on banking products. Starting from the
idea of financial education, presented in the
start of Introduction, with our website model,
the bank clients can learn more on credit card
choosing. In a very short time, they can become
experts in the choosing of banking products.
References:
[1] Bancpost – Banking cards. The user guide
– Finmedia, Aprilie 2010,București. [2] Ceballos Sierra, Fco. Javier – Java 2 – Ra-Ma
Publisher, Madrid, 2008
[3] Charlesworth, A., Gay, R., Esen R. -Marketing
on-line – Ed. ALL, București 2009
[4] Chopra Vivek, Sing Li, Jeff Genender – Apache
Tomcat 6– Anaya Multimedia Publisher, 2008,
Madrid
[5] Odobescu, E. – Modern banking marketing –
Ed.Sigma, București 2007
[6] Voicu M.C., Pirtea M., Varga R. I. - Website
about Summer Offers at the Romanian Black
Sea Resorts - 3rd WSEAS International
Conference on Cultural Heritage and Tourism
(CUHT'10), Corfu Island, Greece July 22-24,
2010, p.58-62
[7] Voicu M C - Relational Algebra Applications
in Web Programming - The 16th WSEAS
International Conference on APPLIED
MATHEMATICS (AMATH '11), Montreux,
sSwitzerland December 29-31, 2011
Recent Researches in Communications, Signals and Information Technology
ISBN: 978-1-61804-081-7 100