See Budget Trip Architecture for the full framework.