| Server IP : 216.92.14.13 / Your IP : 216.73.217.126 Web Server : Apache System : Linux vps4089.pairvps.com 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 User : rmlac2fmr ( 1040637) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/home/rmlac2fmr/ |
Upload File : |
#!/usr/bin/env python3
"""
JBT Travel Ops — Lookup Marc Bloomgarden's submission
Shows all raw fields from his travel request + profile.
"""
import json
import os
import sys
candidates = [
'db.json',
'./data/db.json',
os.path.expanduser('~/public_html/jn.com/ops/data/db.json')
]
db_path = next((c for c in candidates if os.path.exists(c)), None)
if not db_path:
print("ERROR: Could not find db.json")
sys.exit(1)
with open(db_path, 'r') as f:
db = json.load(f)
print(f"Reading: {db_path}\n")
# Find Bloomgarden person(s)
persons = [p for p in db.get('persons', [])
if 'bloomgarden' in (p.get('lastName','') or '').lower()
or 'bloomgarden' in (p.get('firstName','') or '').lower()]
print("=" * 70)
print("PERSON PROFILE(S)")
print("=" * 70)
for p in persons:
print(f"\nID: {p.get('id')}")
for k, v in p.items():
if v not in (None, '', [], {}):
print(f" {k}: {v}")
person_ids = {p.get('id') for p in persons}
# Find all travel requests
reqs = [r for r in db.get('travelRequests', [])
if r.get('personId') in person_ids
or 'bloomgarden' in (r.get('submittedName','') or '').lower()
or 'bloomgarden' in (r.get('lastName','') or '').lower()]
print("\n" + "=" * 70)
print(f"TRAVEL REQUEST(S) — {len(reqs)} found")
print("=" * 70)
for r in reqs:
print(f"\nREQUEST ID: {r.get('id')}")
print(f"showId: {r.get('showId')}")
print(f"personId: {r.get('personId')}")
print(f"\n--- ALL FIELDS ON THIS REQUEST (non-empty only) ---")
for k, v in r.items():
if v in (None, '', [], {}, False):
continue
# Skip very large nested structures, show key fact
if k == 'bookingDetails':
print(f" {k}: (see breakdown below)")
continue
if isinstance(v, (dict, list)):
print(f" {k}: {json.dumps(v, indent=4)[:500]}")
else:
print(f" {k}: {v}")
bd = r.get('bookingDetails') or {}
if bd:
print(f"\n--- bookingDetails (non-empty only) ---")
for k, v in bd.items():
if v in (None, '', [], {}, False):
continue
if isinstance(v, (dict, list)):
print(f" {k}: {json.dumps(v)[:300]}")
else:
print(f" {k}: {v}")
# Highlight key date fields specifically
print(f"\n--- KEY DATE FIELDS ---")
print(f" r.depDate: {r.get('depDate','(empty)')}")
print(f" r.retDate: {r.get('retDate','(empty)')}")
print(f" r.hotelCheckIn: {r.get('hotelCheckIn','(empty)')}")
print(f" r.hotelCheckOut: {r.get('hotelCheckOut','(empty)')}")
print(f" bd.hotelCheckIn: {bd.get('hotelCheckIn','(empty)')}")
print(f" bd.hotelCheckOut: {bd.get('hotelCheckOut','(empty)')}")
print(f" r.travelMethod: {r.get('travelMethod','(empty)')}")
print(f" r.driveFrom: {r.get('driveFrom','(empty)')}")
print(f" r.localHome: {r.get('localHome','(empty)')}")
# Hotel bookings
print("\n" + "=" * 70)
print("HOTEL BOOKING(S)")
print("=" * 70)
for h in db.get('hotelBookings', []):
if h.get('personId') in person_ids:
print(f"\nHOTEL ID: {h.get('id')}")
for k, v in h.items():
if v not in (None, '', [], {}, False):
print(f" {k}: {v}")
# Per diems
print("\n" + "=" * 70)
print("PER DIEM RECORD(S)")
print("=" * 70)
req_ids = {r.get('id') for r in reqs}
for pd in db.get('perDiems', []):
if pd.get('personId') in person_ids or pd.get('reqId') in req_ids:
print(f"\nPD ID: {pd.get('id')}")
for k, v in pd.items():
if v not in (None, '', [], {}, False):
print(f" {k}: {v}")
print("\n" + "=" * 70)
print("DONE")
print("=" * 70)