• Dima Buldakov

    there is no OOTB end to end process that I'm aware about, but generally I would suggest:

    1. use Activity property to capture rating
    2. use external algorithm to update/calculate resources rating based on their activites raitings
    3. adjust resources work skill levels based on these calculations


  • Dima Buldakov

    As far as I've heard Oracle is trying to standardize colors across various products so that ability to adjust status colors has been consciously taken away form Mobility Manage View and eventually could be taken away from other places.

    However, there is ability to conditionally colorfy activity identifiers in Mobility using "Identify activity by" screen configuration. 

  • Dima Buldakov

    Actually, there is another way. You can configure message step that unschedules activites upon creation in OFSC.

    So that, if 01/01/3000 does not work you can also try it.

    You also will need to think about blocking conditions on that message step, so that OFSC does not unschedule activity every time it scheduled to a date.

  • Dima Buldakov
    Try to send date as 1st of January 3000.


  • Dima Buldakov

    1) The browser has limited offline storage: 10MB for Chrome on Android.

    You might have an outdated information. The storage approach has been changed some time ago and the new one is capable to request to extend the limit up to quota.. Quotas are very vary from vendor to vendor, but in this particular case (Chrome on Android) hard quota is usually up to the half of the device storage.

    2) If the browser is closed during offline and then opened the next day the stored data will get wiped off from the browser.


    Actually offline data wipe has no relation to the browser closing and opening. Offline data could be wiped if user religion with different username (apparently it requires on-line), or if user clears browser data through settings or reset the entire device.

    However too old (with expired overnight period) data will be rejected by server during synchronization. 

    IMO, I don't thing OFSC will work in your scenario

    I would agree, that this is not the case for which OFSC has been designed. One of the main goals of OFSC is to deliver real time visibility from the field to the back office. Apparently it require offline periods not to be too long. So that I would avoid to build a solution that assumes multi-days office periods. However there are some customers that has set up long overnight work period so that data is still valid next morning. 

  • Dima Buldakov

    What is the limit that you are talking about? Is it something like a limit per resource per working day?

    e.g. if a resource has cancelled 3 or more activites in their route then notify the resource dispatcher?

    If so, it should be possible to achieve this with combination of a resource custom property, set property message step(s) and blocking condition(s) on the e-mail message step.

    • Create Resource Property e.g. "Daily cancellation count", (string)
    • Add message step to "Route activated" launch condition scenario to set this property into empty.
    • Add message step to "Activity cancelled" launch condition and blocking condition that the activity cancelled not in mobility interface, that adds "+" to the end of the "Daily cancellation count" property
    • Add following message step to send email to parent resource with blocking condition "Daily cancellation count" does not contain "+++"

    after first cancellation the "Daily cancellation count" property contains "+", so that email will be blocked, after second the property contains "++" and email is going to be blocked again, starting from the 3rd one the e-mail is not blocked any more. Upon morning route activation counter will be reset.

  • Dima Buldakov
    Interesting... Have you tried to ask support is it expected behavior or not?
    Anyway you still can use other suggestions
    1. use non a multy-day activity and middleware recreating activity after completion
    2  use non a multy-day activity and utilize suspend action if supervisor is going to return to the site in future and complete if it was final visit (inspection)
    Noorshabah Ramjanee said:

    Actually, it looks like I am not able to view non-scheduled activities on mobility since they are multi-day activities.

    View original


  • Dima Buldakov

    On the best of my knowledge, as for now there is no a work skill related launch conditions in notification. 

    Normally master system for certification/skills information is an HR system, and OFSC only consumes it. I think it better to be duty of the Master system.

    Similarly Vehicle maintenance is a duty of a Fleet Management system.


    • Vehicle maintenance reminder could be created as a repeating activity. 
    • Certification expiration notification could be implemented as an activity created by middleware at the moment when middleware registers a work skill with an expiration date (or update, or create expiration date on an existing skill)  in OFSC.

    Another way could be to have a plugin that replaces "Activate route", gathers and demonstrate all required service/expiration data (if there are) and activates route.

    BTW, I think it make sense to register in the Idea Lab an idea to notify customer about coming skill expiration through Smart Collaboration.


  • Dima Buldakov

    This is a possible way, but I think, that "Activity Completed" could be more suitable launch condition, because in this case middleware could receive all ordered parts at once (using "deinstalled_inventory" block type, you can see for more details). I think if order should be placed before completion it also could be possible to use "Manual" launch condition, but I have not tested it myself yet.


  • Dima Buldakov

    Just to confirm is it correct understanding of the situation - you can see non-scheduled assigned to the resource in Manage, but you cannot see these activities on the same resource in the mobility. 

    Could you please attach screen-shots of manage and mobility?

  • Dima Buldakov

    This is the Screen(layout) configuration that I've used. To apply it you need to export user type, open xml, find layout node with name "mobile_add_details_inventory", replace the node with the xml below and import it back. NB: you may not import user type of your own user.

    if you share current configuration of your screen i can take a look inside. I believe that the key issue is the value of "defaultVisibility" attribute on the "submit" button.

    <layout label="mobile_add_details_inventory">


        <item group="main" type="section" defaultVisibility="ReadWrite">


            <item group="main" type="property" label="inventory_model" entity="inventory" defaultVisibility="ReadOnly"/>

            <item group="main" type="field" label="invsn" entity="inventory" defaultVisibility="Mandatory"/>



        <item group="main" type="tab" label="tab" entity="appt" defaultVisibility="ReadWrite">


            <translation lang="en" value="Update quantity"/>



            <item group="main" type="field" label="invtype" entity="inventory" defaultVisibility="Mandatory">


                <value value="0"/>



            <item group="main" type="field" label="quantity" entity="inventory" defaultVisibility="ReadWrite"/>



        <item group="actions" type="action" label="install_inventory" entity="inventory" defaultVisibility="ReadOnly"/>

        <item group="actions" type="action" label="deinstall_inventory" entity="inventory" defaultVisibility="ReadOnly"/>

        <item group="actions" type="action" label="undo_install_inventory" entity="inventory" defaultVisibility="ReadOnly"/>

        <item group="actions" type="action" label="undo_deinstall_inventory" entity="inventory" defaultVisibility="ReadOnly"/>

        <item group="buttons" type="button" label="submit" defaultVisibility="ReadWrite"/>



    BTW: this is version that I'm using, what is your one?


    Oracle Field Service Cloud 18A Service Update 17

    Instance ***

  • Dima Buldakov

    "Empty identifier" just means that the "Tab" name is not specified. it should not affect the flow, but let's try to set it up. To do so

    1. click to the header of the tab
    2. on the form appears click to the word "Translation"
    3. specify the tab name for all the languages

  • Dima Buldakov

    Fist of all http basic auth is insecure. For security reasons it's better to use a token based authorization. 

    Regarding can't resolve message from cURL, could you please do the following

    1. perform ping to make sure that the host is open to internet at all

    2. perform nslookup api to make sure that DNS is configured on the instance.

    you should get something like 

    $ nslookup




    Non-authoritative answer:    canonical name =    canonical name =    canonical name =





    One more test to do - check could you cURL anything. e.g. you should get something like:

    $ curl

    <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">

    <TITLE>301 Moved</TITLE></HEAD><BODY>

    <H1>301 Moved</H1>

    The document has moved

    <A HREF="">here</A>.


    If you get errors/no results with this tests you should work your network admins either to open server to the internet, or to provide you with proxy options to be used with cURL
  • Dima Buldakov

    You can think about OFSC Parts Catalogue like about an equivalent of a printed paper catalogue book.

    It provides you all the details, but to actually order it's required to make a call to some other place.

    In other words OFSC is not an Order Management System, and can't do an order. All OFSC can do is to send an order information to Middleware that should sent it to an Order Management System. If there is no Order Management System, then Middleware have to implement all required Order Management System features.

    The most popular scenario is to use Add Inventory form Parts Catalogue. Inventory could be added to Customer, or Installed, or Deinstalled, - different implementations are using different approaches. e.g. if company do not use Inventory "Deinstall" at all (it is very typical e.g. for a break/fix companies) then it would be a reasonable choice to store information for orders in the Deinstalled pool. In case of company is using all the three pools, than you can just add a checkbox to identify that it's a part to be ordered, not an actual part.

    Middleware receiving this information and placing an order. Once delivery estimation is available, middleware creates two activites - part's pick up, and second customer visit. part's pick up has SLA start - estimated delivery time, and pick up location address, it's linked with second visit by "the same technician, complete pick up before you can start second visit activity" link.

    Pick up activity has all parts to pick up in the deinstall pool. so that upon receiving parts technician verifying parts and perform "undo deinstall" action, that is moving parts from the activity deinstall pool to resource pool. Once parts are in resource pool the parts could be used to be installed on customer's activites.

    Some companies ship parts just directly to the customer, then there is no needs in the pick up activity. Then the second part becomes a bit easier.

  • Dima Buldakov

    I would suggest to check "Restrictions and Filters" settings on User Type.

    Most likely there are some visibility filters configured that hides some activites from user.

    You might need to adjust or remove these filters.