Hello Qi,
I assume you are referring to OpenLDBSVWS (Staff Darwin Web Services) which exposes amongst other TIPLOC related methods;
GetArrivalDepartureBoardByTIPLOC
Without escalated privileges, this appears to work only for TIPLOCs that correspond to a station. For example, if you try "CREWE", that works fine for me and returns the same board as GetArrivalDepartureBoardByCRS using "CRE".
If I try a non-station TIPLOC e.g. CREWSJN the SOAP response is
<soap:Body>
<soap:Fault>
<soap:Code>
<soap:Value>soap:Receiver</soap:Value>
</soap:Code>
<soap:Reason>
<soap:Text xml:lang="en">Unexpected server error</soap:Text>
</soap:Reason>
<soap:Detail />
</soap:Fault>
</soap:Body>
I don't know how this behaviour changes with escalated privileges enabling use of the getNonPassengerServices parameter, which according to the documentation will include operational stops, it may be that the methods are then enabled for all TIPLOCs and you can get scheduled / expected arrival / departure times for depots / sidings etc.
Hope this helps!