011020-1

Write an ASN.1 specification to send a request for one or more theater tickets. The request should contain the name of the theatre (text string), the name of the play (text string), the date and time of the performance, a request for one or more tickets, where each ticket request should indicate whether the customer is a minor (lower price), a seinor (lower price) or an ordinary adult (not minor or senior) and whether this seat are wanted in the stalls or on the balcony. Note that it should be possible to order several tickets in one request, some of which are in the stalls and some on the balcony, and some of which are minors, some seniors and some adults, in all possible combinations.

Answer

TicketRequest ::= SEQUENCE {
                    theatre VisibleString,
                    play VisibleString,
                    datetime GeneralizedTime,
                    SEQUENCE OF TicketItem }

TicketItem ::= SEQUENCE {
                    number INTEGER,
                    agegroup Enumerated { minor(0), adult(1), senior(3) },
                    seating Enumerated { stalls(0), balcony(1) } }

List of exam questions