Website as Tool for Compare Credit Card Offers MIRELA-CATRINEL VOICU, IZABELA ROTARU Faculty of Economics and Business Administration West University of Timisoara ROMANIA mirela.voicu@feaa.uvt.ro, izabela.rotaru@yahoo.com, 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. ISBN: 978-1-61804-081-7 96
Recent Researches in Communications, Signals and Information Technology 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. ISBN: 978-1-61804-081-7 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. 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" 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(){ 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(); // 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"; // The function db_statement() was defined in Servlet1 servlet ResultSet r = s.executequery(sql_statement); 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(); // 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"; ISBN: 978-1-61804-081-7 99
// The function db_statement() was defined in Servlet1 servlet 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()+"'"; 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; // The table rows with information on offers 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 ISBN: 978-1-61804-081-7 100