Capture if AM/PM was specified in AMAZON.Time slot
I make use of AMAZON.Time slot in my skill. I received feedback from the certification team that I should confirm if a user meant AM or PM when specifying a twelve-hour time. There is one edge case that poses an annoying problem with this feedback.
Since all times are parsed as 24-hour format by the AMAZON.Time slot type, I have no way to know whether a user said, for example "five" or "five a.m." because both get parsed as "05:00". In other words, I lose information about whether the user already explicitly said "five a.m." or if they just said "five" when I attempt to confirm what they meant. So to be safe, I always have Alexa ask the user "did you mean five a.m. or p.m.?". It's only the AM case that causes the problem, because I know the user must have said "seven p.m." or "seventeen hundred" if I get "17:00" back for the slot value.
Can you please modify the way twelve hour time slots are parsed so it is clear if a user already specified "a.m." or not in their voice input for a twelve hour time?

-
Josh Broadhurst commented
Amazon Lex has a solution that exactly describes this situation and would work to solve the issue: https://docs.aws.amazon.com/lex/latest/dg/built-in-slot-time.html
Can this be made available for Alexa skills?
-
Josh Broadhurst commented
Related forum here: https://forums.developer.amazon.com/questions/69245/amazontime-slot-does-not-indicate-if-user-indicate.html
I've tried doing the custom time slot but it doesn't always work (AM/PM still sometimes gets parsed into time slot by Alexa).
-
Frankie Lixin Wang commented
I think this is a good suggestion to differentiate 5 and 5AM from the AMAZON.Time slot as 5:00 ? and 5:00 AM.
In this way, it is much clear not to ask a user to confirm it is AM or PM if the user says "5AM" and ask for a confirmation for "5".