RTO Pro Help File

Taking Customer Applications through the internet

Taking Customer Applications through the internet

Previous topic Next topic  

Taking Customer Applications through the internet

Previous topic Next topic JavaScript is required for the print function Mail us feedback on this topic!  

Comments (...)

There are 2 ways you can accept applications from the internet using RTO Pro, both of these options will be explained below.

 

1. Use the RTO Pro Web Services Application feature, see the page here for an example of how it could look, but of course your application page would have your logos, colors, banners etc. https://rtowebpay.com/apps/default.aspx?id=0B440004450301

This service is included with the RTO Pro support plan, there is no additional charge to use it. If you use this feature no programming on your website would be required, you would simply add a link or button on your website that directs your customers to the application page we design for you. When a customer submits an application online it would be imported into RTO Pro automatically.

 

If you wish to use this method call 800-351-6299 and we will set you up.

 

 

 

2. Design and develop your own web page to accept applications online and do the programming and setup required yourself or hire a developer to do it for you. Using this option your applications would also be imported into RTO Pro automatically, but most stores would have to hire a developer in order to set their website up correctly to take the applications online.

 

If you wish to use this option the instructions are below that you would need to follow to set it up on your website. If you wish to make your own web page to accept applications we do not provide support for setting up your website, (S)FTP service or any other facets of the web applications development, setup or testing process. The only support we provide is the information on this page.

 

 


 

 

It is possible to setup a web page to allow your customers to enter applications for rentals / sales via the internet and to automatically import this application info into RTO Pro. Agreement and inventory info can also be imported so a complete customer application and order can be placed on your website and then imported into RTO Pro automatically. This help topic will walk you through the process of setting this up. Please note the programming and design on your website are not included in support with RTO Pro, you will have to get a web designer or create the web pages yourself.

 

There are 4 components required to allow applications via the internet, each are described below.

 

1. In RTO Pro under the "Other" tab in Store Setup enable the application import feature in RTO Pro. To do this you will enter the FTP information that must be setup on your website to allow RTO Pro to download the applications. The file "c:\rtowin\ImportApplications.exe" is the program that will check for pending application entered online and import them into RTO Pro, so make sure you set your firewall to allow this program access to the internet. You must also choose the customer "Status/Rating" you want to assign to represent pending web applications.

 

When this feature is enabled your system will check every 15 minutes for pending applications(there is a button you can click to check for applications manually anytime you wish). When pending applications are received you will be notified. To view pending applications you can click on the "View Pending Web Applications" button on the payment screen or the Point of Sale menu in RTO Pro.

 

2. A web page on your website that will collect the customer application information. What information you collect is up to you however the field names in the XML files must match the field names that are described at the bottom of this help topic or they will not import into RTO Pro (in our example code the input text names from the HTML file become the XML field names). Note RTO Pro DOES NOT create your web pages for you. See below for a sample HTML file or click here.

 

3. A CGI or script file to handle the posted data and save it to an XML file, this could be included in your web page instead of a separate script file. See below for a sample Perl script file or click here. To see a sample XML file (the file your script will create) click here. The script file should be programmed to save the XML file in a password protected folder so the files are not accessible to anybody on the internet. This folder is where you setup the FTP account to connect to.

 

4. An FTP or SSH/SFTP account on the server that hosts your website that will enable RTO Pro to connect to the folder XML files are saved and retrieve the XML files that are created when a customer fills out an application online. You enter the FTP account info in Store Setup in RTO Pro under the "Other" tab. Please note SSH/SFTP (Secure FTP) is recommended since personal info such as social security numbers can be included in the customer application data.

 

 

To see this feature in action enter the test FTP info below in your store setup, and enter some sample customer data on this page: http://rtopro.com/testxml.html

Test FTP info:

FTP Address: ftp.rtopro.com

FTP User name: xmltest@rtopro.com

FTP password: xml12red

Please note if there are other users testing at the same time you may get info they entered or they may get info you enter.

 

The program in RTO Pro that actually connects via (S)FTP to your web server to retrieve the online application files is "importapplications.exe", it will be in the RTO Pro installation folder. Be sure you have your firewall configured to allow this program to access the internet or it will not be able to retrieve the applications.

 

 

Customer data that can be imported into RTO Pro.

Please note the field names or input names on the HTML file must match the names exactly as they are below, they are NOT case sensitive.

 

These fields may be imported as XML or CSV files.

 

You can require any data you wish on your web page, however the only data RTO Pro requires is the "NAME" or "FIRST" AND 'LAST" fields.        

 

Please note all date fields must be formatted "m/d/yyyy" or "m-d-yyyy". All dollar value fields must be passed without a dollar sign and without commas, for example pass $1,000.00 as "1000.00".

Field Name

Max characters and type

Description

ACCOUNT

10 numeric

Note this will be generated for new customers automatically, this should NEVER be passed for NEW customers. For existing customers this should be passed if known. If this is not passed a social security number search will be performed, if a match is found with the same SS# and last name the existing record will be used. No changes to the existing record will be made, any address or other info will have to be updated manually.

NAME

35 alphanumeric

Full name formatted: LAST,FIRST. The first and last name can be sent separately instead, see below.

FIRSTNAME        

35 alphanumeric

First name if sending first and last separate.

LASTNAME

35 alphanumeric

Last name if sending first and last separate.

ALTNAME

35 alphanumeric

Co-Renter or spouse full name formatted: LAST,FIRST The first and last name can be sent separately instead, see below.

ALTFIRSTNAME

35 alphanumeric

Alternate first name if sending first and last separate.

ALTLASTNAME

35 alphanumeric

Alternate last name if sending first and last separate.

ADDRESS

35 alphanumeric

Customers street or mailing address

APT

35 alphanumeric

Apartment info

CITY

20 alphanumeric

Address city

STATE

4 alphanumeric

Address state

ZIP

10 alphanumeric

Zip or postal code

HMPHONE

12 characters

Home Phone # (formatted like 8003516299 or 800-351-6299)

WKPHONE

12 characters

Work Phone # (formatted like 8003516299 or 800-351-6299)

MESS

12 characters

Message phone # (formatted like 8003516299 or 800-351-6299)

CELL

12 characters

Cellular phone # (formatted like 8003516299 or 800-351-6299)

PHONE5

12 characters

Other phone # (formatted like 8003516299 or 800-351-6299)

WORKEXT

5 alphanumeric

Extension for work #

DIRECTIONS

140 alphanumeric

Directions to home or physical address.

ZONE

15 alphanumeric

This is the customer zone / route.

RATING

1 numeric

Character 0-9. If this value is not passed the default value for pending applications will be assigned to all imported applications, you set this up in Store Setup under the "Other" tab.

SS1

11 numeric

Primary social security number. Please note if SS1 is passed a check will be performed to see if there is a matching SS1 and last name in your customer records, if a match is found a new customer record would not be added. This can be formatted 111223333 or 111-22-3333

SS2

11 numeric

Co-renter / spouse social security number. This can be formatted 111223333 or 111-22-3333

DOB1

date

Date in format MM/DD/YYYY Primary date of birth

DOB2

date

Date in format MM/DD/YYYY Co-renter / spouse date of birth

DL1

25 alphanumeric

Primary drivers license #

DL2

25 alphanumeric

Co-renter / spouse drivers license #

EMAIL

50 alphanumeric

Email address

LANGUAGE

10 alphanumeric

Language spoken by customer

ACHACCT

17 numeric

Customer bank account number if they are setting up ACH payments

ACHROUTE

9 numeric

Customer bank route number if they are setting up ACH payments

ACHACCTTYPE

2 characters

Customer bank account type if they are setting up ACH payments (must be one of the following "PC" = personal checking, "BC" = business checking, "PS" = personal savings, "BS" = business savings)

AUTOCHARGEFORM

1 character

0 = Autopay to be paid by Credit Card, 1 = Autopay to be paid by ACH (If customer's agreement(s) setup for Autopay) Note this field was added 12/17/2013

HOWLONGCURRENT

10 alphanumeric

How long at current address, can be a date or something like "5 years"

RENTERSEX

1 character

Sex of renter (M or F)

CORENTERSEX

1 character

Sex of co-renter (M or F)

RENTERHEIGHT

4 alphanumeric

Height of renter... 5'11 for example

CORENTERHEIGHT

4 alphanumeric

Height of co-renter

RENTERWEIGHT

4 alphanumeric

Weight of renter

CORENTERWEIGHT

4 alphanumeric

Weight of co-renter

RENTEREYES

4 alphanumeric

Renter eye color

CORENTEREYES

4 alphanumeric

Co-renter eye color

LANDLORDORMORT

35 alphanumeric

Landlord or mortgage company name

LANDLORDADDRESS

35 alphanumeric

Landlord / mortgage address line 1

LANDLORDADDRESS2

35 alphanumeric

Landlord / mortgage address line 2 (city, state, zip)

LANDLORDPHONE

12 characters

Landlord / mortgage phone number

PREVADDRESS

35 alphanumeric

Renters previous address

PREVCITYSTZIP

35 alphanumeric

Renters previous address line 2 (city state zip)

HOWLONGPREVIOUS

10 alphanumeric

how long at previous address

WORK1

35 alphanumeric

Renters work place

WORKADD1

35 alphanumeric

Renters work address

WORKADD21

35 alphanumeric

Renters work address line 2 (city, state, zip)

WORKPH1

12 characters

Renters work #

WORKEXT1

8 characters

Extension for work #

WORKSUPER1

35 alphanumeric

Work supervisor

WORKSTARTED1

15 alphanumeric

When renter started this job

OCCUPATION1

15 alphanumeric

Renters occupation / job title

HOURS1

15 alphanumeric

work hours

PAYDAY1

15 alphanumeric

pay day

WORK2

35 alphanumeric

Co-renter work place

WORKADD2

35 alphanumeric

Co-renter work address line 1

WORKADD22

35 alphanumeric

Co-renter work address line 2

WORKPH2

12 characters

Co-renter work #

WORKEXT2

8 characters

Co-renter work extension

WORKSUPER2

35 alphanumeric

Co-renter work supervisor

WORKSTARTED2

15 alphanumeric

Co-renter work started

OCCUPATION2

15 alphanumeric

Co-renter occupation / job title

HOURS2

15 alphanumeric

Co-renter work hours

PAYDAY2

15 alphanumeric

Co-renter pay day

CAR1

30 alphanumeric

Vehicle #1 info

LPLATE1

15 alphanumeric

Vehicle #1 license plate

CAR2

30 alphanumeric

Vehicle #2 info

LPLATE2

15 alphanumeric

Vehicle #2 license plate

COMMENTS

1000 alphanumeric

This could be used to hold order info or requested merchandise, prices etc.

PAYPERIOD

15 alphanumeric

pay period for renter

PAYAMT

numeric decimal(18,2)

Pay amount for renter, per pay period

ADSOURCE

15 alphanumeric

ad source... where did they hear about you

BANKNAME

20 alphanumeric

Bank name for non ACH purpose

BANKPHONE

12 characters

bank phone #

BANKACCT

20 alphanumeric

bank account number for non ACH purpose

 

 

Reference info

 

REFERENCE1                max 35 characters reference #1 name

REFADD1                max 35 characters reference #1 address

REFADD21                max 35 characters reference #1 address line 2

REFRELATION1        max 15 characters reference #1 relation to renter

REFPHONE1                max 12 characters reference #1 phone number

 

the fields above can be repeated for up to 6 references, the 2 at the end below (highlighted in yellow) can be changed to 3,4,5 or 6.

 

REFERENCE2                max 35 characters

REFADD2                max 35 characters

REFADD22                max 35 characters

REFRELATION2        max 15 characters

REFPHONE2                max 12 characters

 

 

 

 

Agreement and inventory info that can be imported into RTO Pro

Please note all value fields below such as "PMT", "AMTPAID" must be passed without a dollar sign and without commas, for example pass $1,000.00 as "1000.00". Note there are no minimum requirements for agreement info, agreement info does not have to be passed at all to just load a pending customer without a pending agreement attached.

 

CONTRACT

10 alphanumeric

Contract or agreement number. Note this will be generated automatically if not passed.

DUEDATE

Date

The contracts next due date after any down payment

CONTRACTDATE

Date

The date of the agreement, starting date

PMT

Numeric

The total pre-tax rent only amount of the payment. Note if you are including inventory items in the imported data send the rates in the individual items(see "rate1-10" below) and leave this as 0.00.

GRP

Numeric

DWF / LDW amount per term, commonly known as Damage Waiver

CONTRACTAMT

Numeric

Total contract amount (pmt x payments). This will be calculated automatically if not passed

AMTPAID

Numeric

Total regular paid down, including rent, DWF, club, other charges and tax. Customer deposit IS NOT included. Extra money paid down is NOT included in this figure.

OTHERPAID

Numeric

Other charges paid down, delivery  + any processing fee etc.

CLUBPAID

Numeric

This field holds the portion of "OTHERPAID" that was delivery charge. So if they paid 5 processing + 10 delivery, OTHERPAID = 15, CLUBPAID = 10

EXTRARENT

Numeric

For stores that accept "Deposits", you would pass the deposit amount paid down in this field.

PAIDDOWN

Numeric

For stores that accept extra money paid down to reduce the payment amount or term this is where you would pass the extra amount or down payment that was paid.

OTHERDUE

Numeric

Any other charges that will be payable next payment

CHARGESDUE

Numeric

Number of payments paid down (note this will be calculated automatically from AMTPAID, no need to send both).

CONTYPE

1 Character

Contract type R, L, T, G or O (R for Rent to Own will be default if not passed).

TERM

1 Character

Payment term W = weekly, M = monthly, B = bi-weekly, S = semi-monthly

PAYMENTS

Numeric

Total number of payments entire contract

BILLED

See Description >

1 = This contract should be billed or invoiced automatically (12/31/1899 can also be passed to mean the same thing also, any other date passed would mean the last date this contract was invoiced).

CASHPRICE

Numeric

Total cash price for ALL inventory on the contract

SACDATE

Date

Same as Cash expiration date

CLUBFEE

Numeric

Club fee per payment

PAYOFFDISCOUNT

Numeric

Payoff discount (discount off balance for EPO (.4 = 40% discount off balance) or % of rent that comes off cash for EPO calculation (.6 = 60% of rent comes off cash price), depending on your store settings). Only needed when you have different discounts for different contracts.

SALESMAN

15 Alphanumeric

Max 15 characters. Salesman who sold the agreement, should be the employees 3 character employee ID normally.

AUTOCHARGEPMTS

See Description>

1 = this agreement will be setup for Autopay

AUTOCHARGEB4DUE

See Description>

If setup for Autopay, how many days before the due date should it be paid on (1 = pay 1 day BEFORE due date, -1 = pay 1 day AFTER due date)

TAXRATE

Numeric

The tax rate that applies to this agreement .06 = 6%

TAXZONE

15 Alphanumeric

This is the tax zone record identifier in RTO Pro for this agreement (only required for destination based sales tax states).

STORE

Numeric

Store # this agreement is for. Only needed for central server systems.

 

 

The fields below are to identify inventory on contracts. Up to 10 inventory items can be included for each contract. Each field should be followed by a number 1-10 to specify which line number it is on the agreement (MODEL1, MODEL2 ... MODEL10 etc.)

MODEL1-10                max 15 alpha characters. Model number of inventory rented 1 - 10        

SERIAL1-10                max 30 alpha characters. Serial number of inventory rented 1 - 10. Note if model is passed but not serial number a purchase order item will be generated. If model and serial is passed and the item is not present in inventory it will be received.

DESCRIPTION1-10        max 250 characters. Description of inventory rented 1 - 10. If not passed description will be retrieved from master model records, if present.

RATE1-10                Payment amount for each inventory item. Note if you are including inventory items in the imported data pass the rates here only and leave the "PMT" field see above) as 0.00.

STOCK1-10                Up to 15 Numeric characters. Stock number for the inventory (optional)

BRAND1-10                Up to 15 alpha-numeric characters. Brand or manufacturer of the inventory

DATEREC1-10                Date received. This will be set as today's date if not passed.

VENDOR1-10                Up to 15 alpha-numeric characters. Vendor or supplier of the product.

COST1-10                Cost of the inventory (your cost, what you paid for it)

AGENT1-10                Floor plan agent, for depreciation purposes. If not passed the only allowed agent or last agent used will be used (see store setup for only allowed agent setting).

BOR1-10                YES or NO, YES is the default if not passed. Yes = this item counts toward BOR numbers, No= it does not.

CATEGORY1-10        Category for the inventory. Up to 15 alpha characters. If it is a sub-category up to 31 characters formatted like "MAIN:SUB".

INVOICE1-10                Invoice number for this inventory

RETAIL1-10                Retail or Cash price for this item.

RTO1-10                RTO field. See the help topic here for more info on how this field is used.

INVCOMMENTS1-10        Up to 200 alpha-numeric characters. Inventory comments.

CONDITION1-10                Up to 15 alpha-numeric characters. Normally one of the following: "EXCELLENT", "GOOD", "FAIR", "POOR". Optional and only needed for USED merchandise.

 

 

 

 

 

 

 

 

 

 

Sample Perl script file

 

 

#!/usr/bin/perl

use strict;

use CGI;

use CGI::Carp 'fatalsToBrowser';

 

# instantiate a CGI object

my $obj = new CGI;

 

# start some basic HTML output

print $obj->header,

     $obj->start_html,

     qq(<ul>);

   

my $f_lock = '2';

my $f_unlock = '8';

 

 

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

$year += 1900; ## $year contains no. of years since 1900, to add 1900 to make Y2K compliant

$mon += 1; ## Month stars at 0 for January

 

my $file_name ="App$year-$mon-$mday-$hour-$min-$sec.xml"; # this is the unique part of the file name with the date, time and seconds included... "App2012-01-30-1-35-15.xml"

 

#open a new XML file for writing, this uses a subfolder "webapps"... note this folder should be password protected so it cannot be accessed publicly

open(OUTPUTFILE,">>../webapps/$file_name") or

       die "Failed to open OPF, $!\n";

 

# get an exclusive lock on that file

flock OUTPUTFILE, $f_lock;

 

# seek to the end of the existing content

# incase a previous process wrote to the file

# after the open and now

seek OUTPTUFILE, 0, 2;

 

# get an array of the passed CGI parms

my @params = $obj->param;

 

print "The following information has been submitted:";

 

# get a value for each parm and print them

print OUTPUTFILE "<application>\n";

foreach my $key (@params)

   {

   my $value = $obj->param($key);

   print "<li>$key : $value";

   print OUTPUTFILE "<$key>$value</$key>\n";

   }

print OUTPUTFILE "</application>\n";

 

# unlock the file  

flock OUTPUTFILE, $f_unlock;

 

# gracefully close your HTML

print qq(</ul>), $obj->end_html;

 

 

 

 

 

Sample XML File

Below is a sample of what the XML file your script creates should look like. The XML file name should be formatted as follows: "AppYYYY-MM-DD-H-M-S.xml" so if the file was created on 1/30/2012 1:35:15 it should be named:"App2012-01-30-1-35-15.xml". As long as the file name starts with "App" and ends in ".xml" you can use any numbering system you wish for the rest of the file name, as long as every application submitted has its own unique file name.

 

The "<?xml version="1.0" standalone="yes" ?>" line is optional. The "<application>" parent tag can be any tag name you like as long as the actual record tags are underneath a parent tag.

 

Below the sample contents of the XML file (with only 3 customer fields, yours will have as many customer data fields as you wish see customer data that can be imported).

 

<?xml version="1.0" standalone="yes" ?>  

<application>

<name>DOE,JOHN</name>

<address>2000 Anystreet</address>

<city>Anytown</city>

</application>

 

 

 

Sample CSV file

Below is a sample CSV file with 2 records, you can have as many records as you want in each CSV file, the header line must be present with the field names, the field names can be in any order but must use the field names as shown above.

 

name,address,city,state,zip,work1

"DOE,JOHN","1000 ANY Street","Eustis","FL","32726","7-Eleven"

"SMITH,JOE","1500 Any Street","Eustis","FL","32726","Wal-Mart"

 

 

 

 

 

 

 

 

 

Sample HTML code

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 

<head>

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

<title>Contact Information *Required to</title>

<style type="text/css">

* {outline:none;}

.style1 {

color: #FF0000;

}

.style2 {

margin: 0;

padding: 0;

}

</style>

</head>

 

<body>

 

<p class="style2">Contact Information

<font color="#FF0000">

*Required</font></p>

 

<form action="http://www.rtopro.com//cgi-bin/apptoxml.pl" enctype="multipart/form-data" method="post" class="style2">

 

<table style="width: 100%">

         <tr>

                 <td style="width: 126px" class="style2">First Name<span class="style1">*</span></td>

                 <td class="style2">        

                 <input type="text" name="firstname" style="width: 206px" class="style2"/></td>

         </tr>

 

         <tr>

                 <td style="width: 126px" class="style2">Last Name<span class="style1">*</span></td>

                 <td class="style2">        

                 <input type="text" name="lastname" style="width: 206px" class="style2"/></td>

         </tr>

         <tr>

                 <td style="width: 126px" class="style2">Co-Renter First Name</td>

                 <td class="style2">        

                 <input type="text" name="altfirstname" style="width: 206px" class="style2"/></td>

         </tr>

         <tr>

                 <td style="width: 126px" class="style2">Co-Renter Last Name</td>

                 <td class="style2">        

                 <input type="text" name="altlastname" style="width: 206px" class="style2"/></td>

         </tr>

 

 

         <tr>

                 <td style="width: 126px" class="style2">Address</td>

                 <td class="style2">

                 <input type="text" name="address" style="width: 206px" class="style2"/></td>

         </tr>

         <tr>

                 <td style="width: 126px" class="style2">City&nbsp; </td>

                 <td class="style2">    

                 <input type="text" name="city" style="width: 206px" class="style2"/></td>

         </tr>

         <tr>

                 <td style="width: 126px" class="style2">State</td>

                 <td class="style2">

<input type="text" name="state" style="width: 206px" class="style2"/></td>

         </tr>

         <tr>

                 <td style="width: 126px" class="style2">Zip Code</td>

                 <td class="style2">

<input type="text" name="zip" style="width: 206px" class="style2"/></td>

         </tr>

         <tr>

                 <td style="width: 126px" class="style2">Work</td>

                 <td class="style2">

<input type="text" name="work1" style="width: 206px" class="style2"/></td>

         </tr>

 

         <tr>

                 <td style="width: 126px" class="style2">Comments / Order info</td>

                 <td class="style2">

<input type="text" name="comments" style="width: 206px" class="style2"/></td>

         </tr>

         

 

 

 </table>

<input type="submit" value=" Submit " style="width: 106px" class="style2"/>

</form>

 

                                                                         

<p class="style2">&nbsp;</p>

                                                                 

</body>

 

</html>

 

 

Comments (...)