These tips are very useful.
I faced another issue, that CarrierSlaEntity can not store any details about address of terminal, so I see two options.
First, example of terminal entry:
"id","name","city","address","postalCode","boxes__001","boxes__002","boxes__003","boxes__004","latitude","longitude","workingHours","servicingHours","comment","boxes__005"
"4101","Maxima XX","Alytus","Sakalo g. 1","33133","Small","Medium","Large","XLarge","55.222323","25.435055","I-VII: 00-24 h","I - V iki , VI iki ","Terminalas yra lauke, prie parduotuvės.",""
Option 1: Extend CarrierSlaEntity with additional fields like terminalName, terminalCity, terminalAddress, terminalPostalCode, terminalComments
PROS: This way I would be easily put this data on cron job and retrieve it in Shipping view to group by city, etc.
CONS: lots of extending to do on persistence and services
Option 2: concat all required data (terminalName, terminalCity, terminalAddress, terminalPostalCode, terminalComments) to CarrierSla GUID field and then parse it when loading Shipping view
PROS: No extension requirements
CONS: once fields has loads of information to be parsed, no localization ability.
Any ideas you have? Maybe you plan to implement such feature in your next Yes Cart versions?