Subject: Re: CakePHP Development Project
From: "Michael B" <[email-masked]>
To: Jorge González <[email-masked]>, "Justin Fata" <[email-masked]>
Cc: "Destavioun Carr" <[email-masked]>, "Joseph E. Fata" <[email-masked]>, "CakeDC Development Team" <[email-masked]>, "Alejandro Jose Ibarra" <[email-masked]>
Date: Fri, 6 Apr 2018 19:07:44 -0400

Hello Jorge.
I will be able to answer your questions. Answers listed below. Please let me know if you need any further clarification and/or have any further questions. 
Thank you,
Michael Bishop
Labor Law Poster Service
877-321-4144 x355

From: Jorge González 
Sent: Friday, April 06, 2018 8:18 AM
To: Justin Fata 
Cc: Destavioun Carr ; [email-masked] ; Joseph E. Fata ; CakeDC Development Team ; Alejandro Jose Ibarra 
Subject: Re: CakePHP Development Project

Hi Justing,

After a first review of the changes requested, we have a the following questions:

* Orders
    * New Order: Create and order section / search for company with Name, zip code, company ID
    * Order status: search for existing order by Name, zip code, company ID
    * Advanced Order search: Company Name, Address , city, state, zip, date of order, order status, order type, sales person, campaign, payment method used.
    * Questions:
        * The order will be created by employees or directly by external users?
The orders are generated in a few different ways: 
1. Orders that are received via mail (or fax) are processed in the Data Department. These are created by employees who are scanning the barcodes on each order form and completing the order as indicated (product, quantities, shipping).
2. Orders are also generated by phone (Inbound and Outbound). These are entered by employees and will use a Keycode (unique identifier) to pull up the company.
3. Orders can be placed on our company website which transfers the orders to our main database.

        * Do we need to process payments? or will just be some fields to select payment method and enter details with no processing.
Payment method is selected by the user and default depending on the order type. 
Check by mail, (Data dept only), are marked as the order is processed. This is the default for data department. 
Phone orders are marked by user when order is entered. This is the default for Inbound and Outbound users. 
Credit card payments are processed through PayPal. The database uses an API to connect to PayPal and then write back to our database (approved, declined, or any other processing response).

* Companies
    * Company search: search by Company ID, company name, address, zip code, phone number
    * Questions:
        * Do we need to create/update/delete companies?
The Company Search is used to look up information that is already stored in the database. These will take you to specific company files. Then you can review order history or you can copy the Company ID to then place an order. These files will include ALL companies in our database (Customers and Prospects).

* Invoices
    * Print Daily invoices (currently only able to print Weekly list)
    * Questions:
        * Will it be an automatic process or something somebody will trigger?
This is a function used by the Data department to print out invoice batches. These invoices are generated by BILL IN FULL orders or customers who have a balance on their account (order). The user will find the invoice batches in a list and print those out each day.

* Users 
    * Merge Users: merge company ID for the same company
    * Questions:
        * Can you elaborate more on how the merge process will work?
Merge Users is used when we have duplicate IDs in the system. Should be labeled "Merge Company". Some companies have multiple accounts in our system. Consequently they receive multiple mailings and have multiple order histories. We use this function to move all of this information together in one place.

* Reporting
    * Produce Commission Report
    * Produce Campaign Report
    * Produce unpaid orders report - print 30,60,90 days past due invoices by date range
    * Collection Report – Print collections by date range
    * Questions:
        * Please include filters for the first two reports.
        * Do we need to display only a list? or we will need to include charts, something else?
Commission Report allows the user to enter a start date to end date (Month, Day, Year) and you can also select a specific User or Department (both default to "All").
Sales Report (Campaign Report) allows the user to enter a start date to end date (Month, Day, Year) and you can also select a specific Campaigns and/or State (both default to All). You can also "Group Results By" State, SIC code, day. Lastly there is a field that you can search by company size.

* Management
    * Back Order List
    * Product List
    * Questions:
        * Do we need to display only a list? or we will need to include charts, something else?
Currently the Back Order List is a list that shows products that are currently on backorder. We have multiple products for each state.

We understand all changes will be done to the existing application, we'll need to upgrade the CakePHP core and plugins to latest stable release (2.x) ASAP. We've added this time to the estimate too as it would be critical. We would recommend a migration to CakePHP 3 to be done soon.

Our initial (ballpark) estimate is 80-120h

I've added Alejandro Ibarra to this email too, he's been involved with the review and this estimate, as I'm off due to an onsite training session. Please discuss the questions with him, and let us know when you are ready to proceed.

Thanks,

On Wed, Apr 4, 2018 at 12:39 PM, Justin Fata <[email-masked]> wrote:

  Hi Jorge, 

  I have attached a Job Proposal that our team put together for this development project. We would like to start with the order capture and search filter on the "labor law." Then we would also like to develop the reports and generally improve the UI.

  Do you already have a copy of the source code for the site? What would you think be the best way to start the discovery process? Please advise as we would like to get started right away.

  Best,

  Justin Fata

-- 

        Jorge González
      Project Manager
      & Core CakePHP Training Instructor

     

      Cake Development Corporation 
      1785 East Sahara Avenue, 
      Suite 490-423 Las Vegas, Nevada 89104

      +1 (702) 425-5085

      cakedc.com  

     

This email may contain material that is confidential, privileged and/or work product for the sole use of the intended recipient.  Any review, reliance or distribution by others or forwarding without express permission is strictly prohibited.  If you are not the intended recipient, please contact the sender and delete all copies.

Cake Development Corporation.