credit card python program

Job ID: 33056764

Budget: $10 – $30 USD

Problem Specification:
EZCash is a new credit card company that is offering customers attractive rates in addition to giving them the opportunity to earn some cash back on purchases. The customers can apply for three types of credit cards and can apply for multiple credit lines with each type of card, from EZCash for different categories of expenses. At the beginning of each month, the company provides a report on monthly credit card expenses and display what cash back will be received for expenses made with each of the credit cards, as well as the total cash back expected from all three card types. The amount of cash back for each type of card is determined as follows.

Elite card: 10% cashback on all online purchases, 5% cashback on gas purchases, and 2% on all other purchases. However, you cannot go over $600 in gas purchases one elite card. If this happens, the charge must be put back into range of ($0, $600).
Classic card: 7% cashback on all online purchases, 4% cashback on gas purchases, and 2% on all other purchases. However, you cannot go over $3000 in online purchases one classic card. If this happens, the charge must be put back into range of ($0, $3000). Further, you cannot go over $200 in gas purchases on one classic card either. Must also make enforce out-of-range input being put back into range.
VIP card: 5% cashback on all online purchases and 2% on all other purchases.

In this scenario, you are a contracted developer for EZCash. You must write a Python application to which provides the monthly reporting service being advertised by the company. For a given customer, it should compute 1) the cashback amounts expected from each credit card; and 2) the total cashback amount from all credit cards. Your application should have the following classes:

• CreditCard, Elite, Classic, VIP , and Customer

 For each class, write initializer methods.
 Determine what attributes would be needed in the initializer methods and include them where appropriate.
 Also override superclass method(s) where appropriate in the subclasses.


Note: Each class must be implemented in their own .py file

• We will provide test files, one being customer1input.txt. An input line in a file is formatted with comma-delimited values in the following order: customer name, card type name, card description, online expenses, gas expenses (for card types that allow this), then other expenses. The input appears as follows:

John, Elite,Convocation Luncheon,100,25,150
Sue, Classic,Faculty Supplies,80,40,50
John, VIP,Miscellaneous,50,100
Chris, Elite,Convocation Awards,200,0,150
Sue, Classic,Staff Appreciation,250,50,150

• You must parse each line of a file, create the charge cards according to each input line, then provide output for each card under each customer as well as total cash back. Output for individual cards should print the card type, the description for card usage, and the cash-back for all purchases on that card.

• The output for customer1input.txt should look like the screenshot I uploaded.

The code should be designed in a similar fashion to the template I will send you once we agree.

* You must design a UML diagram for each class to illustrate how the program is designed. Also, you need to clearly show the relationships between classes appropriately (navigable associations, generalizations, etc.).