dvalbuena1 / visa_rescheduler_aws

US VISA (ais.usvisa-info.com) appointment re-scheduler - Colombian adaptation - AWS Lambda
24 stars 10 forks source link

What is ASC_ID stands for? #6

Closed efecnc closed 1 year ago

efecnc commented 1 year ago

I have adapted your code for Turkey however I was not able to find what ASC_ID stands for.

; Turkish - Turkey COUNTRY_CODE = tr-tr ; Ankara FACILITY_ID = 124 ; Bogotá ASC_ID = 26

Also, just wondering if we could adapt it to multiple facilities.

dvalbuena1 commented 1 year ago

Well, here in Colombia ASC stands for Applicant Service Center for the Biometric information. This is required when you are in the process of obtaining a visa for the first time or if you are over 14 years of age for the collection of biometric information if I am not mistaken.

For the multiple facilities implementation, here in Colombia we just have one facility but some suggestions for you would be to do the following.

First in the config.ini file add the ID of every Facility FACILITY_ID = 124 125 126 Then do a split to generate an array

Instead of having on each URL the FACILITY_ID replace it with a key to do the format later DATE_URL = f"https://ais.usvisa-info.com/{COUNTRY_CODE}/niv/schedule/{SCHEDULE_ID}/appointment/days/{{facility}}.json?appointments[expedite]=false"

And finally, close to line 349 you need to add a for to iterate each facility and replace the id into the URLs

for f in FACILITIES_ID:
    NEW_DATE_URL = DATE_URL.format(facility=f)
    dates = self.get_date()[:5]
    ...
efecnc commented 1 year ago

Thanks a lot for the answer. One last thing; I found out Turkish citizens are not giving biometrics, so I do not want to use ASC in the script. Since I put a random ASC ID this is the result:

INFO:get_time - Got time successfully! 2023-07-10 08:30 INFO:main - New date: 2023-07-10 08:30 INFO:asc_availability - ASC Availability INFO:send_notification - Sending notification: HELP! Crashed.

dvalbuena1 commented 1 year ago

Thats not a problem, in the last commits I added a way to choose if you need the ASC or not. In config.ini change the value NEED_ASC to False