Could you explain the need for this table? What happens if I create a new loan product (should a mapping for each available office be automatically created?)

What happens to the already existing loan products?

I would have assumed that for enabling branch specific loan products (which is a special case), we would add a flag to the loan product table (say branch_restrictions_enabled). For these loan products, we would allow selecting the branches for which the loans are to be restricted as a part of the API