An implementor of a ballot draft specification of this chapter realized the need to logically AND and OR multiple resources for a single appointment. For example, they wished to specify the following condition:
((Resource-1 and Resource-2) or (Resource-3 and (Resource-4 or Resource-5)))
The current message structure for any kind of transaction does not address the need for any of the service or resource detail segments (AIS, AIG, AIL, or AIP).
They have proposed an extension to the Standard that would allow Lisp-like logical syntax within messages such as the Schedule Request message. This syntax makes use of a BEGIN and an END segment to logically group segments, and an AND and an OR segment to logically connect segments. To achieve a request as in the example above, the implementation of these logical grouping and connecting segments would read as follows:
BEGIN|<CR>
BEGIN|<CR>
AIG|Resource-1...<CR>
AIG|Resource-2...<CR>
AND|<CR>
END|<CR>
BEGIN|<CR>
AIG|Resource-3...<CR>
BEGIN|<CR>
AIG|Resource-4...<CR>
AIG|Resource-5...<CR>
OR|<CR>
END|<CR>
AND|<CR>
END|<CR>
OR|<CR>
END|<CR>
This would translate to:
((Resource-1 Resource-2 AND) (Resource-3 (Resource-4 Resource-5 OR) AND) OR)
This is the RPN or Lisp-like logical notation for the example in the first paragraph. This syntax could encompass and support groupings of several different resource and service types.
This proposal was presented to the Control/Query Technical Committee. Their initial response was that this proposal is outside of the scope of Control/Query for the current Standard 2.3 ballot and response cycle. If necessary, this proposal will be resubmitted to the Control/Query Technical Committee by the implementing organization for future versions of the Standard.