Skip to content

Latest commit

 

History

History
88 lines (67 loc) · 2.65 KB

Development.md

File metadata and controls

88 lines (67 loc) · 2.65 KB

Build Google Vacation Rentals Calculator

Read ARI XML messages into sqlite database

  • Read Rates from XML file
  • Load Rates into database
  • Read Rate Modifications from XML file
  • Load Rate Modifications into database
  • Read Availability from XML file
  • Load Availability into database
  • Read Taxes and Fees from XML file
  • Load Taxes and Fees into database
  • Read Promotions from XML file
  • Load Promotions into database
  • Read Extra Guests from XML file
  • Load Extra Guests into database
  • Read Hotel Inventory from XML file
  • Load Hotel Inventory into database
  • Handle Day of the Week specifications
  • Read and load Stay Dates ranges for Rate Modifications and Promotions

Command line options to calculate rates

  • Parse and add files data into sqlite
  • Add command line parser
  • Compute a feed price for specified dates
    • Get applicable rates from db
    • Get applicable taxes from db
    • Get applicable fees from db
    • Get applicable promotions from db
    • Get applicable extra charges from db
    • Calculate base rate
    • Apply fees
    • Apply taxes
    • Apply promotions

API Development

  • FastAPI
    • Setup routes and fixup parameters
    • Connect to database
    • Send proper response
    • Allow feed files to send as zip file
    • Allow raw files to send as group of text files
    • Retries on zip file with stamina

Webpage Development

  • Web interface
    • Input fields
    • Drag and drop file set of ARI XML files
    • Compute feed price
    • Show raw response
    • Show formatted data
    • Add calendar view
    • Parse XML Inventory file locally to load calendar availability
    • Show availability clearly marked on calendar and rates returned
    • Load ORPxxx number automatically
    • Change calendar view based on check in date
    • If uploading a single zip file instead of multiple files flip post methods as needed

Debugging to get matches

  • Example messages match to specific feed prices

Include XML snippets

  • Show XML snippets that data is constructed from in xml_contents field

Upgrades

  • Upgrade to Python 3.12
  • Upgrade all applicable packages

Deployments

Create pypi package

  • Isolate calculator as separate package
  • Publish package and place web/command line interface over the top as functional application

Tests

  • Create tests to cover sample file inputs